CHAR_MIN 为什么有的地方是-128,有的地方是-127呢?

longlong530 2011-12-29 09:42:05
CHAR_MIN 为什么有的地方是-128,有的地方是-127呢?
第一位是符号位,所以signed char的取值范围应该是-127到+127啊?-128是从哪里来的呢?
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
longlong530 2011-12-29
  • 打赏
  • 举报
回复
OK,结贴了,谢谢三位~
补充下:

问:计算机为什么要用补码呢?

答:简化减法运算。在式子上正负一样。[X+Y]补= [X]补+ [Y]补
[X-Y]补= [X]补+ [-Y]补
iamnobody 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 longlong530 的回复:]
引用 1 楼 saleayas 的回复:

计算机用的是补码。
所以不存在 -0, 存在 -128。


是10000000 被当作了-128了吗?
[/Quote]
是的....结贴了...
longlong530 2011-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 saleayas 的回复:]

计算机用的是补码。
所以不存在 -0, 存在 -128。
[/Quote]

是10000000 被当作了-128了吗?
柯本 2011-12-29
  • 打赏
  • 举报
回复
理论范围:
-127~-0 0-~127
因为-0不存,所以实际中,负数为-1~-127

Saleayas 2011-12-29
  • 打赏
  • 举报
回复
计算机用的是补码。
所以不存在 -0, 存在 -128。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧