天天看點

原碼反碼補碼的正确區分

#首先引入機器數的概念

機器數:數在計算機中的二進制表示形式,隻有0和1組合

特點:帶符号,數的首位存放符号, 正數為0, 負數為1。

在原碼上就定死了符号位,反碼和補碼的符号位永遠和原碼相同

數字在計算機中均以補碼的方式計算

此處我們對數字分類為正數和負數

As for 正數,正數的原碼、反碼、補碼都是它本身

例如我們用八位二進制數來表示正數9

原碼:0000 1001

反碼:0000 1001

補碼:0000 1001

As for 負數,負數的出現需要引起注意的是符号位

我們讨論負數9

原碼:1000 1001(符号位為1,其餘和正數原碼相同)

反碼:1111 0110(符号位不變,其餘負數原碼取反)

補碼:1111 0111(符号位不變,其餘負數原碼取反+1)

最後提到 真值的概念

真值就是我們見到的真實數值,必須帶上符号

如+5,-7

對應的二進制為+000 0101和-0000111

繼續閱讀