补码那个范围是转换成十进制能表示的范围,移码可以表示负数,那个加2^n应该是知道一个数的补码然后计算移码的表示方法比如0,3位补码是000而移码是100吧
8位二进制补码表示十进制整数-128.则其表示形式为?1000
0000。
8位二进制的取值范围不是127——负127吗。
是:0000
0000~1111
1111,即0~255,共
256
个。
补码表示范围-128~127,这是补码的转换成十进制的范围,还是真正的真值的范围?
哪有什么真值假值!
哪有什么真正的真值!
补码,它就是代表【正负数值】的。
补码,是二进制的形式。
正负数值,通常是用十进制写出来的。
当然,你想要用二进制、16 进制 ... 也行。
那么,八位的补码,可代表数值的范围是:-128~+127。
--------------------
移码是真值加2^n 岂不是移码不能表示负数?
求移码,是用 补码 加上 2^n。 不是用 真值 加。
因此,八位的移码,仍然代表数值:-128~+127。