原碼 反碼 補碼

2021-10-07 21:55:21 字數 801 閱讀 9452

真值

機器所對應的二進位制的真正的數值

1000 0111=-7

0000 1111=15

1000 1010=-10

原碼原碼就是符號位加上真值的絕對值

正數:符號位 有效位 +11 11->000 1011

​ 0000 1011

反碼正數:正數的反碼=原碼

負數:符號位不變,其餘各位逐一取反,只有兩種狀態[0,1]即1->0 0->1

補碼正數:正數的原碼=反碼=補碼

負數:先求得反碼,在負數反碼的基礎上加1

擴充套件為什麼需要反碼和補碼?

在設計計算機時,只設計了加法器,沒有設定減法器

5-3=5+(-3)

原碼5=0000 0101[原碼]

-3=1000 0011[原碼]

0000 0101

1000 0011

1000 0011[原碼=-8](不正確)

原碼不能直接進行運算

反碼:解決了只設計加法器,使用加法器進行減法運算的問題;

缺點:正負相加0的表示不唯一

補碼[高位溢位]

1=0000 0001[補碼]

-1=1111 1111[補碼]

相加等於0000 0000

高位溢位

將補碼轉原碼

因為負數的補碼不能直接讀出結果,但是原碼可以,所以將補碼轉原碼 可以讀出負數的值

補碼->原碼

原則:補碼的補碼

把補碼當原碼,求補碼

計算規則:符號位不變,其餘取餘,然後加一

原碼 反碼 補碼

正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...

原碼 反碼 補碼

正數 原碼 反碼 補碼一樣 7 原 0 0000111 b 7 反 0 0000111 b 7 補 0 0000111 b 負數 原碼就是原來的表示方法 反碼是除符號位 最高位 外取反 補碼 反碼 1 7 原 1 0000111 b 7 反 1 1111000 b 7 補 1 1111001 b 當...

原碼 反碼 補碼

數值在計算機中表示形式為機器數 計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的 是十進位制,正如亞里斯多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手 指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進製 的實踐要比二或三進製計數出現的晚.摘...