負數在計算機中的二進位制表示(原碼、反碼與補碼)
阿新 • • 發佈:2019-02-07
1 符號位
C語言規定,把記憶體的最高位作為符號位,且用0表示正數,用1表示負數。
2 在計算機中,負數以其正值的補碼形式表示
2.1 原碼
一個整數,按照絕對值大小轉換成的二進位制數,稱為原碼。
如 00000000 00000000 00000000 00000110 是 6 的原碼。
2.2 反碼
將二進位制數按位取反,所得的新二進位制數稱為原二進位制數的反碼。
如 00000000 00000000 00000000 00000110 的反碼是 11111111 11111111 11111111 11111001
2.3 補碼
反碼加1稱為補碼。也就是說,要得到一個數的補碼,先得到反碼,然後反碼加上1,所得數稱為補碼。
所以 -6 在計算機器的表示形式為:
# -6 的正值 6 的二進位制:
00000000 00000000 00000000 00000110
# 取反得反碼:
11111111 11111111 11111111 11111001
# +1 得補碼,即 -6 在計算機中的二進位制表示:
11111111 11111111 11111111 11111010