8位二進制數範圍

8位二進制數的範圍

原碼、反碼、補碼區別

  • 原碼:用符號位和數值標識帶符號數,第一位表示符號位,正數的符號位用0,負數的符號位用1,數值部分用二進制形式標識
  • 反碼:正數的反碼與原碼相同,負數的反碼爲對該數的原碼除符號位外取反
  • 補碼:正數的反碼與原碼相同,負數的反碼爲對該數的原碼除符號位外取反,然後在最後一位加1

正零(0000 0000)和負零(1000 0000)的補碼相同,都是0000 0000

計算機以補碼形式存儲

注意,我們常說的都是指補碼

真值 原碼 反碼 補碼 補碼錶示的數值
0 0000_0000 0000_0000 0
1 0000_0001 0000_0001 1
127 0111_1111 0111_1111 127
-0 1000_0000 1111_1111 1_0000_0000 -128
-1 1000_0001 1111_1110 1111_1111 -127
-2 1000_0010 1111_1101 1111_1110 -126
-127 1111_1111 1000_0000 1000_0001 -1

所以
0000_0000 到 0111_1111 => 0到127
1000_0001 到 1111_1111 => -1到-127
上述的-0(1000_0000)特殊情況,規定它在計算機中的表示的數爲-128

n位二進制數值範圍公式

原碼和反碼:-2^(n-1)-1到 +2^(n-1)-1
補碼:-2^(n-1) 到+2^(n-1)-1

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