Imam par nejasnih stvari sto se tice ovoga.
Sama definicija kaze da celobrojni tipovi (short i long) bez reci unsigned su signed, po definiciji. Signed celobrojne promenljive imaju ili negativnu ili pozitivnu vrednost.
Unsigned celobrojne promenljive uvek imaju pozitivnu vrednost.
Npr:
unsigned short prima brojeve od 0 do 65.535
signed short prima brojeve od -32.768 do 32.768
Sada sta mene buni ako ja napravim:
a ako stavim unsigned short int b = -1;
Sada mene zanima kako je on dosao do ovog broja 65535? Ako UNS neprima negativne brojeve odakle onda ova vrednost? Zasto nije greska?
Sama definicija kaze da celobrojni tipovi (short i long) bez reci unsigned su signed, po definiciji. Signed celobrojne promenljive imaju ili negativnu ili pozitivnu vrednost.
Unsigned celobrojne promenljive uvek imaju pozitivnu vrednost.
Npr:
unsigned short prima brojeve od 0 do 65.535
signed short prima brojeve od -32.768 do 32.768
Sada sta mene buni ako ja napravim:
Code:
unsigned short int b = 1;
std::cout << b;
unsigned short int b = 1;
std::cout << b;
Citat:
// output >> 1
a ako stavim unsigned short int b = -1;
Citat:
// output >> 65535
Sada mene zanima kako je on dosao do ovog broja 65535? Ako UNS neprima negativne brojeve odakle onda ova vrednost? Zasto nije greska?