五、原碼、反碼和補碼

1 二進制表示法

概念:將一個數值用二進制表示,置於最低位,按指令長度將高位補零。
5 在二進制中表示爲 101B(B爲二進制單位)在32位計算機中表示爲:

00000000 00000000 00000000 00000101(5 二進制)

但由於計算機中沒有正負只有 01 ,二進制是沒辦法直接表示負數,爲了解決這個問題原碼就誕生了。

2 原碼

2.1 原碼錶示法

在數值前面增加了一位符號位(即最高位),正數該位爲 0 ,負數該位爲 1 ,其餘位表示具體數值。
也就是說原碼中的正數與二進制表示一致,負數最高位設爲 1

00000000 00000000 00000000 00000101(5 原碼)
10000000 00000000 00000000 00000101(-5 原碼)

2.2 原碼錶示法的問題1:±0

原碼錶示法的 0 有兩種表示方法,這是不合理的:

00000000 00000000 00000000 00000000(+0 原碼)
10000000 00000000 00000000 00000000(-0 原碼)

2.3 原碼錶示法的問題2:無法做減運算

計算機中並沒有減運算,要想做減運算只能加負數,例如:5 - 55 + (-5)
而在原碼錶示法中其運算結果表示爲:

  00000000 00000000 000
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章