补码00000000 还有 10000000 还有 11111110表示的真值是什么?

问题描述:

补码00000000 还有 10000000 还有 11111110表示的真值是什么?

你说的“真值”可能指的就是它们的原码对应的值吧?那是这样的:
补码00000000的真值是00000000,就是0;因为正数的反码、补码与原码一样;
补码10000000的真值是10000000,就是-128;因为它是负数,要求它的原码,得对除符号位以外的各位取反再加1,就是对0000000取反成为1111111,再加1又成0000000了,符号位不变,所以得10000000.不过有一种观点认为-128这个数很特殊,没有反码与补码.知道实质就是了,不必太死扣定义.
对于补码11111110,同样的办法对数据位取反加1来求原码:1111110取反得0000001,再加1得,0000001+0000001=0000010;符号位不变,再把它放上就是10000010;噢,它是-2!