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

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