777
技術社區[雲棲]
數字機內存儲
數字機內存儲
原碼(true form)是一種計算機中對數字的二進製定點表示方法。原碼表示法在數值前麵增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
補碼(two's complement)——在計算機係統中,數值一律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值位統一處理;同時,加法和減法也可以統一處理。補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
【例1】+9的原碼是 00001001。(八位二進製)
反碼是00001001。
補碼是00001001。
【例2】-9的原碼是10001001。(八位二進製)
反碼是11110110。
補碼是11110111。
int main(int argc, char *argv[]) { cout<<(30&(-30));//2 //30的補碼 0001 1110 //-30補碼 1110 0010 //按位與 0000 0010=2(dec) return 0; }
最後更新:2017-04-03 12:55:57