请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对于有符号位八位,为什么最小值不是-127,而是-128呢?

有符号8位,为啥最小值是-128二不是-127呢?11111111不是-127吗?

正在回答 回答被采纳积分+3

2回答

慕瓜8231985 2020-12-18 09:48:58

0b00000000(0)

递增

0b01111111(127) 

+1
0b10000000(-128)
递增

0b11111111(-1)

127是有符号数最大正值,在加1跳转到最小值-128 ,可以通过逐渐递增达到 0b11111111(-1)
怎么算真值可以参考老师的公式

1 回复 有任何疑惑可以回复我~
quickzhao 2020-12-18 09:53:30

你仔细看下补码的表示方法,符号位除去,所有7位都填1,2^7 = 128,所以最小值是-128.

0 回复 有任何疑惑可以回复我~
  • 感觉并不是这样。实际上-128补码表示为 10000000, 直接用补码到真值的公式 -1 * 2^(8-1) = -128.
    
    和7个1无关,原码根本无法表示-128.  (补码到真值并不一定要经过原码)
    回复 有任何疑惑可以回复我~ 2024-07-13 17:55:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信