Kvalifikatori signed i unsigned se mogu primeniti na char ili bilo koji integer. unsigned brojevi su uvek pozitivni ili nula, i nad njima se primenjuju
aritmeticka pravila po modulu 2n, gde je n broj bita tipa. Prema tome, na
primer, ako je char 8 bita, promenljiva unsigned char ima vrednosti iz inter-
vala od 0 do 255, dok signed chars ima vrednosti izmedu -128 i 127 (na masini
koja radi u drugom komplementu).
Pravila za konverziju su malo komplikovanija kada su neoznaceni operandi
ukljuceni. Problem je u tome sto je odnos izmedj u onacenih i neoznacenih
brojeva razlicit na razlicitim masinama, zbog toga sto zavise od razlicitih velicina
tipa int. Na primer neka je tip int velicine 16 bitova, pa je onda long 32 bita.
Onda -1L < 1U, zato sto 1U, koji je unsigned int, postaje unsigned long. Ali
-1L > 1UL zato sto je -1L pretvoren u unsigned long sto je u stvari ogroman
pozitivan broj.
Dopuna: 01 Apr 2008 10:12
tako i kod tebe, kada se -1 pretvori u unsigned, iznosice neki pozitivan broj veci od 5
|