八位二进制代码,范围是255,以补码形式,可代表真值:-128~+127.
八位的补码,在127,即小于128时,直接代表零和正数.
该补码,就是该数的真值.
八位的补码,在128~255,即大于127时,就代表负数-128-1了.
用这个补码,加上-256,即可得出真值.
如补码10000001,即129,加上-256,即可得出真值为-127.
如补码10000000,即128,加上-256,即可得出真值为-128.
如补码11111111,即255,加上-256,即可得出真值为-1.
------
如果是负数,求补码,加上256即可.
如,真值是-1,补码就是256-1=255,这就是-1的补码.
做这些变换,根本不用二进制,也不用《求反加一》这些麻烦事.
那是不是负数的补码只要看后7位数的值加上-128也是一样的如补码10000001后七位是0000001它的值为1,1+(-128)=-127这样行不行
后7位数的值加上-128也是一样的,对。你少用了一位,即最高位。这个最高位,就是-128。剩下七位,加上-128,正好。