二進位制原碼、反碼、補碼詳解

Candy_GL發表於2019-03-22

https://blog.csdn.net/u013372487/article/details/45498677轉自:

①  原碼:

  原碼是指將最高位作為符號位(0表示正,1表示負),其它數字位代表數值本身的絕對值的數字表示方式。

  例如:數字6 在計算機中原碼錶示為:0 000 0110

  

其中,第一個數字0是符號位,0表示正數,0 000110是數字6的二進位制資料表示。

  數字-6 在計算機中原碼錶示為:1 000 0110

  以上是在8位計算機中的原碼錶示,如果在32位或16位計算機中,表示方法也是一樣的,只是多了幾個數字0而已。

  例如,在32位 計算機中數字6 的原碼錶示為:00000000 0000 0000 0000 0000 0000 0110

  在16位 計算機中數字6 的原碼錶示為:00000000 0000 0110

②   反碼:

  反碼錶示規則為:如果是正數,則表示方法和原碼一樣;如果是負數,符號位不變,其餘各位取反,則得到這個數字的反碼錶示形式。

  例如,數字6 在8位 計算機中的反碼就是它的原碼:00000110

  數字-6 在 8位計算機中的反碼為:11111001

③   補碼

  補碼是計算機表示資料的一般方式,其規則為:如果是整數,則表示方法和原碼一樣;如果是負數,則將數字的反碼加上1(相當於將原碼數值位取反然後在最低位加1)。

  例如:數字6 在8位 計算機中的補碼就是它的原碼:00000110

    數字-6 在8 位 計算機中的補碼為:1111 1010

 

注意:0的反碼、補碼都為零

相關文章