char表示范围的疑惑

yilin54 2010-06-22 03:37:26
char 的最大值是127=01111111(二进制),我理解。
为什么最小值是-128啊?
我觉得应该是11111111啊,第一位1表示负号,那应该是-127啊?
...全文
512 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
文君 2011-11-14
  • 打赏
  • 举报
回复
注意正零和负零的区别。
yilin54 2010-06-23
  • 打赏
  • 举报
回复
我已经意会了。谢谢各位~
liutengfeigo 2010-06-22
  • 打赏
  • 举报
回复
没去认真研究过。。学习了
sbdx86 2010-06-22
  • 打赏
  • 举报
回复
我觉得:负数在内存中用补码表示,-1 的原码10000001 反码是11111110 补码是11111111.
-127的原码11111111 反码是10000000 补码是10000001
这样 10000000就用来表示-128了.
lixuyu 2010-06-22
  • 打赏
  • 举报
回复
1、这是在补码表示法、char是有符号数的情况下;
2、注意,最大值并不一定是127。char并不一定是有符号的,C标准可没有这么规定,char可能是按照signed char处理,也可能是按照unsigned char处理,不同的编译器、不同的编译选项处理不同。
zjf30366 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 yilin54 的回复:]
char 的最大值是127=01111111(二进制),我理解。
为什么最小值是-128啊?
我觉得应该是11111111啊,第一位1表示负号,那应该是-127啊?
[/Quote]

http://blog.csdn.net/ylqmf/archive/2009/12/18/5031807.aspx

http://blog.csdn.net/ylqmf/archive/2009/12/18/5031788.aspx
itegel84 2010-06-22
  • 打赏
  • 举报
回复
有符号时用补码表示的就是-128~127
无符号时...
wzyzb 2010-06-22
  • 打赏
  • 举报
回复
顶 下
zjf30366 2010-06-22
  • 打赏
  • 举报
回复
这个原码和反码是一样的[Quote=引用 3 楼 yilin54 的回复:]
我想问下:1000 0000表示的是什么啊?是原码还是什么码啊?


引用 1 楼 baihacker 的回复:
1.char的需求是能装下标准的ascii字符,所以-128到127或者0到255都是可能的。
2.1111 1111按第一位负号,后面的作为绝对值的话,这是原码,但是计算机中存的是补码。
所以是1000 0000
取反得到0111 1111
加上1得到1000 000……
[/Quote]
wdy0725 2010-06-22
  • 打赏
  • 举报
回复
因为最高位是符号位,那么 00000000 与 10000000 是不是都是0呢?2楼讲的很清楚了。
一句话,在表示正数时,一个让给了0.
yidasoft 2010-06-22
  • 打赏
  • 举报
回复
10000是补码啊
00000是原码的0
yilin54 2010-06-22
  • 打赏
  • 举报
回复
我想问下:1000 0000表示的是什么啊?是原码还是什么码啊?

[Quote=引用 1 楼 baihacker 的回复:]
1.char的需求是能装下标准的ascii字符,所以-128到127或者0到255都是可能的。
2.1111 1111按第一位负号,后面的作为绝对值的话,这是原码,但是计算机中存的是补码。
所以是1000 0000
取反得到0111 1111
加上1得到1000 0000
其绝对值是128也就是说在内存中1000 0000表示-128
[/Quote]
baihacker 2010-06-22
  • 打赏
  • 举报
回复
ascii字符应该改成:具体实现中的基本字符。
baihacker 2010-06-22
  • 打赏
  • 举报
回复
1.char的需求是能装下标准的ascii字符,所以-128到127或者0到255都是可能的。
2.1111 1111按第一位负号,后面的作为绝对值的话,这是原码,但是计算机中存的是补码。
所以是1000 0000
取反得到0111 1111
加上1得到1000 0000
其绝对值是128也就是说在内存中1000 0000表示-128

69,371

社区成员

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

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