采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
有符号8位,为啥最小值是-128二不是-127呢?11111111不是-127吗?
0b00000000(0)
递增
0b01111111(127)
+10b10000000(-128)递增
0b11111111(-1)
127是有符号数最大正值,在加1跳转到最小值-128 ,可以通过逐渐递增达到 0b11111111(-1)怎么算真值可以参考老师的公式
你仔细看下补码的表示方法,符号位除去,所有7位都填1,2^7 = 128,所以最小值是-128.
感觉并不是这样。实际上-128补码表示为 10000000, 直接用补码到真值的公式 -1 * 2^(8-1) = -128. 和7个1无关,原码根本无法表示-128. (补码到真值并不一定要经过原码)
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.3k 12
1.2k 12
1.3k 10
1.2k 9
1.1k 9