1. 程式人生 > >負數在計算機中的二進位制表示(原碼、反碼與補碼)

負數在計算機中的二進位制表示(原碼、反碼與補碼)

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