正碼(原碼)、反碼和補碼

正碼(原碼)

最高位表示符號位,0表示正數,1表示負數,其余位表示為整數的二進制數。

例:
32767
0111 1111 1111 1111
-32767
1000 0000 0000 0001

2147483647
0111 1111 1111 1111 1111 1111 1111 1111
-2147483647
1000 0000 0000 0000 0000 0000 0000 0001

反碼

正數的反碼與正碼相同,負數的反碼反碼是在正碼的基礎上對除符號位之外的位取反,0變1,1變0.

例:
32767
0111 1111 1111 1111
-32767
1111 1111 1111 1110

2147483647
0111 1111 1111 1111 1111 1111 1111 1111
-2147483647
1111 1111 1111 1111 1111 1111 1111 1110

補碼

正數的補碼與正碼相同,負數的補碼是在反碼的基礎上,對最低位+1.

例:
32767
0111 1111 1111 1111
-32767
1111 1111 1111 1111

2147483647
0111 1111 1111 1111 1111 1111 1111 1111
-2147483647
1111 1111 1111 1111 1111 1111 1111 1111

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容