易码技术论坛

 找回密码
 加入易码
搜索
查看: 647|回复: 13

突然想不通为什么127+1等于-128了

[复制链接]
发表于 2009-3-24 13:52:37 | 显示全部楼层 |阅读模式
如题?谁能解释下?
纠结的地方:
计算机不是以补码形式储存数字吗?
so 〔有符号字符型,下同〕
1000 0000 和 0000 0000都表示的是0
那何以用8bits来表示-128?
256和个补码中有两个是表示0,又如何能对应-128 to 127这256个数
127 + 1
补码 1000 0001 + 1111 1111 = (1) 1000 0000
9bit的-128的补码
我以前只理解为1000 0000到1111 1111对应-128到-1,没有具体考证
莫非1000 0000是-128的补码?
这些是我的思路,望众虾救我,我快精神分裂了
 楼主| 发表于 2009-3-24 14:00:33 | 显示全部楼层
打错一点 127+1是 0111 1111+0000 0001不过不影响我的纠结
 楼主| 发表于 2009-3-24 14:03:22 | 显示全部楼层
打错一点 127+1是 0111 1111+0000 0001 = 1000 0000 上面那是-127-1 不过不影响我的纠结
手机发个贴子真难受
发表于 2009-3-24 17:30:45 | 显示全部楼层
因为再加上128会等于0
 楼主| 发表于 2009-3-24 18:56:13 | 显示全部楼层
无语
发表于 2009-3-24 20:36:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-3-24 20:59:59 | 显示全部楼层
有符号的单字节溢出后就是-128
1000 0000, 传说中的-0, 其实他是-128
发表于 2009-3-24 21:42:31 | 显示全部楼层
呵呵,今天C++老师上课就磨叽了半天这个东西。。。
发表于 2009-3-24 22:31:23 | 显示全部楼层
c
...
好久没听了
发表于 2009-3-24 22:33:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2009-3-24 22:50:42 | 显示全部楼层
其实我也没听……
感冒了…迷迷糊糊就过去了(*^_^*)
 楼主| 发表于 2009-3-25 07:23:09 | 显示全部楼层
学习了
发表于 2009-3-25 09:08:30 | 显示全部楼层
jason说得对
发表于 2009-3-27 13:57:16 | 显示全部楼层
被楼主雷到了
补码和原码是两回事
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-5-7 11:14 , Processed in 0.013625 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表