关于8位表示的补码中-128和0的问题,
问题描述:
关于8位表示的补码中-128和0的问题,
用8位二进制表示的补码,-128是10000000,但是正的128就是10000000,按位取反加1还得这个,这就已经是8位了,没有符号的位置了啊,-128这个数是不是比较特殊,最高位的那个1在他这里即表示符号又表示数值呢?如果这样,那是不是对任意位数的补码的负数都存在这样一个特殊的数?
再就是对于补码,说0是唯一的,-0和+0都一样,但是我对-0求补码怎么就得不出00000000,-0的7位数值位求反加1的10000000,最高位表示负数为1,怎么和-128表示是一样的?
答
1.先回答-0和0的问题:[-0]补=[10000000]补=[10000000]反+1=11111111+1=100000000,因为只能存储8位,所以最高位丢失,也就是00000000,然而0的补码也是00000000;2.因为-0和0重合了,所以这些数就连续了,不像原码和反码...