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:
unsigned short int b = 1;
std::cout << b;
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?