以上例子皆以8位计算机存储为例
原码:
最高位是符号位,0代表正数,1代表负数,其余7位是数值位,也就说正数的最大值是,负数的最大值是
,但是问题是
以及
两个0重复了,浪费了一个8位2进制数。
补码:
正数的补码=原码,负数的补码=原码取反+1,那么,
,正负两个0都用一个二进制来表示,那么
这个二进制就空着了,因为
,那么顺理成章
,这样每一个8位二进制数代表的数就不一样了
最高位是符号位,0代表正数,1代表负数,其余7位是数值位,也就说正数的最大值是,负数的最大值是
,但是问题是
以及
两个0重复了,浪费了一个8位2进制数。
正数的补码=原码,负数的补码=原码取反+1,那么,
,正负两个0都用一个二进制来表示,那么
这个二进制就空着了,因为
,那么顺理成章
,这样每一个8位二进制数代表的数就不一样了