有符號類型可以表示正數、負數或0,而無符號類型只能表示大於等於0的值。默認情況下,所有聲明的整數變量都是有符號類型。如果要聲明無符號類型,需要在類型前添加unsigned關鍵字。
16位系統中的無符號整數
在16位系統中,int可以存儲的數據範圍是-32768 ~ 32767,而無符號int可以存儲的數據範圍是0~65535。因為在計算機中,整數是以補碼的形式存儲的。所以如果壹個整數的最高位是1,有符號數的話就是負數;如果是無符號數,都代表正數。另外,如果unsigned省略了最後壹個關鍵字,大多數編譯器會認為它是unsigned int