(+10)关于8位表示的补码中-128和0的问题,
问题描述:
(+10)关于8位表示的补码中-128和0的问题,
用8位二进制表示的补码,-128是10000000,但是正的128就是10000000,按位取反加1还得这个,这就已经是8位了,没有符号的位置了啊,-128这个数是不是比较特殊,最高位的那个1在他这里即表示符号又表示数值呢?如果这样,那是不是对任意位数的补码的负数都存在这样一个特殊的数?
再就是对于补码,说0是唯一的,-0和+0都一样,但是我对-0求补码怎么就得不出00000000,-0的7位数值位求反加1的10000000,最高位表示负数为1,正好最高位已经为1了,怎么和-128表示是一样的?
答
你把符号位 和 数值位分开1符号+7位数值
(-128~0~127)共256个.
所以+128 是不存在的
+0的补码就是其原码,也就是说是0,0000000而已(对于8位来说)
-0的补码是其反码加1,其反码是1,1111111,当然,其反码加1后就是溢出一个进位后,仍然是0,0000000
不晓得 你清楚了没?