为什么补码的最小值是10000000而不是11111111?

如题所述

当码长为八位,0 的补码,是:0000 0000。

由 0 减去 1,就是-1 的补码:1111 1111。

你再减去 1,就是-2 的补码:1111 1110。

。。。

减 128 次,得到的结果就是:1000 0000。

这就是-128 的补码。

千万千万,你可别再减了。

再减,就是 0111 1111,这就是+127 的补码了。

所以,-128,补码 1000 0000,就是最小值。



温馨提示:内容为网友见解,仅供参考
第1个回答  2022-06-28
补码可以表示负数啊,11111111表示的是-1吧?而10000000表示多少呢?借鉴一下别人的答案.[10000000]补 =[10000000]反+1 =11111111+1 =(1)00000000 =00000000(最高位溢出了,符号位变成了0) 你可能会问 :10000000这个补...
第2个回答  2022-11-07
从数值上看
根据取反加一原理
10000000表示的数值大小为01111111+1=2^7-1+1
11111111表示的数值大小为00000000+1=1
所以前者表示-2^7后者表示-1所以补码的最小值为10000000

为什么补码的最小值是10000000而不是11111111?
所以10000000更小。望采纳

二进制数11111111和10000000那个数比较小一点 为什么?
这个肯定是10000000小了,不管是二进制还是十进制数,都是0最小,二进制数10000000换成十进制数就是2的7次方,也就是128,而11111111换算出来就应该是:2的7次方+2的6次方+2的5次方+2的4次方+2的3次方+2的2次方+2的2次方+2的0次方,也就是255。

用8位2进制补码表示带符号的十进制整数的范围是
这里解释一下,最小数为什么不是11111111,由于规定0的补码唯一,是00000000,所以8位二进制数可以表示256个数(并非正0和负0一样所得出的255个),也就是说10000000表示的不是0,而是-128,它也就是最小的数而并非11111111(-127)。

...用二进制表示最小的数是"10000000",而不是“11111111”
所以当然是10000000B表示的数最小了。

用8位2进制补码表示带符号的十进制整数的范围是
所以最小的数为10000000(-128),最大的数为01111111(127)。这里解释一下,最小数为什么不是11111111,由于规定0的补码唯一,是00000000,所以8位二进制数可以表示256个数(并非正0和负0一样所得出的255个),也就是说10000000表示的不是0,而是-128,它也就是最小的数而并非11111111(-127)。

-128的二进制补码是怎么得来的?
-128的补码 10000000(11111111(反码) + 1=10000000,这里实际上真正相加的是11111111后面的7位,第1位是符号位始终不会变,所以,当进到第8位的时候,就表示溢出了,会被舍弃。0只有一个补码00000000,如果是这样,那么10000000就不会表示成-0的补码 即:补码1000 0000唯一的表示-128,在补码中用(-128)...

原码反码补码为什么是8位的,如-25的原码是1 0011001,而不是1 11001,中...
计算机的位数,是固定的。早期,常用的是:8 位机、16 位机;现在,是:32 位机、64 位机。给你一个数,位数不够,你就填上 0,没毛病。别忘了采纳。

有符号数的补码是什么,为什么?
这个二进制值等于2^0+2^1+2^2+2^3+2^4+2^5+2^6=127。同时在计算机中,数值是以补码形式存储的。正数的补码是其本身;而负数的补码是取反(符号位保持不变),再加1。所以有符号字符型的最小值是10000000 ->(取反) 11111111 ->(加1)10000000=-2^8=-128。

补码的问题。。跪求大神回答。。
表示是正数,所以补码就是原码,就是01111111了。然后1000000,这个我们可以先看10000001代表多少?反码是减一,就是10000000,求反,得到01111111,就是127了。就是说,补码10000001代表-127,减一是多少?就是-128啦。最后,原码00000000的反码是11111111,加1得到补码,就是00000000。其实就是0=-0啦。

int 类型取值范围的困惑
补码范围是1000000000000001-1111111111111111,对应的原码是100000000000001-111111111111111,值的范围是-1~-(2^15-1)。还有一个数是100000000000000,它不能使用补码计算公式进行计算的。是计算机内部直接用它来表示-2^15。你可以参考一下:http:\/\/blog.csdn.net\/aiirr\/archive\/2007\/12\/28\/1998545.aspx ...

相似回答
大家正在搜