整數在計算機中的表示
在計算機中,整數采用補碼表示。當前主流編譯器中整型在內存中占用四個字節,共32位。
機器數:一個數在計算機中的二進制表示形式, 叫做這個數的機器數。機器數是帶符號的,在計算機用一個數的最高位存放符號, 正數為0, 負數為1.比如,十進制中的數 +3 ,計算機字長為8位,轉換成二進制就是00000011。如果是 -3 ,就是 10000011 。那么-1,就是10000001
原碼、補碼、補碼含義
原碼:第一位為符號位,其余位表示數值,如-1的原碼:1,000...0001(兩個1之間30個0)。
反碼:正數的補碼就是其原碼;負數的反碼為符號位不變,數值位按位取反。如-1的補碼為1,111...1110。
補碼:正數的補碼就是其原碼。負數的補碼為=反碼+1。因此,-1的補碼為1,111...111。
因此,unsigned(-1)=1,111...111(共32個1)。表示unsigned的最大值。
也就是0xFFFFFFFF