補碼的優勢ide 補碼的計算spa 補碼的使用設計 |
·················orm
補碼的優勢 blog
在電路設計上比較便利。能夠使得加法、減法處理中遇到數字的正負能夠採用相同的方式處理。get
補碼的計算 it
正數的補碼就等於原碼。io
負數的補碼等於原碼取反,加1,符號位不變。table
數值 | 原碼 | 補碼class |
補碼的補碼(原碼) |
---|---|---|---|
7 | 0000 0111 | 0000 0111 | 0000 0111 |
-7 | 1000 0111 | 1111 1001 | 1000 0111 |
3 | 0000 0011 | 0000 0011 | 0000 0011 |
-3 | 1000 0011 | 1111 1101 |
1000 0011 |
64 | 0100 0000 | 0100 0000 | 0100 0000 |
-64 | 1100 0000 | 1100 0000 | 1100 0000 |
補碼的使用
正數遇到負數相加,取反碼相加。(處理遇到負號問題)
7 + (-7)
運算方法 | 十進制數 | 二進制數 計算過程 | |
---|---|---|---|
算數 | 7 | 0000 0111 | |
被算數 | + | -7 | 1000 0111 1111 1001 |
結果 |
= | 0 | 0000 0000 |
正數跟正數相加,直接計算。(等於直接相加補碼)
7 + 5
運算方法 | 十進制數 | 二進制數 計算過程 | |
---|---|---|---|
算數 | 7 | 0000 0111 | |
被算數 | + | 5 | 0000 0101 |
結果 |
= | 12 | 0000 1100 |
正數遇到負數相減,把負數變成反碼計算(相減),相減處理爲再反碼相加。
7 - (-5)
運算方法 | 十進制數 | 二進制數 計算過程 | |
---|---|---|---|
算數 | 7 | 0000 0111 | |
被算數 | - | -5 | 1000 0101 1111 1011 1000 0101 |
結果 |
= | 12 | 0000 1100 |
負數加正數,負數取補碼,加上正數的補碼。計算結果首位爲1,又是補碼形式,取原碼結果。
-7 + 5
運算方法 | 十進制數 | 二進制數 計算過程 | |
---|---|---|---|
算數 | -7 | 1000 0111 1111 1001 | |
被算數 | + | 5 | 0000 0101 |
結果 |
= | -2 | 1111 1110 1000 0010 |
兩個負數相加,各自取反碼,直接相加。結果是個反碼,且首位爲1,原碼計算取反加1,首位不變。
-7 + (-5)
運算方法 | 十進制數 | 二進制數 計算過程 | |
---|---|---|---|
算數 | -7 | 1000 0111 1111 1001 | |
被算數 | + | -5 | 1000 0101 1111 1011 |
結果 |
= | -12 | 1111 0100 1000 1100 |