数据类型长度

free1879 2008-06-15 01:22:41
我想问一下
比如usigned char 为 8bit 那么 应该是 0-256阿! 但是为什么是 0-255 呢?
比如int 为 16bit(depend on amchine,here thinking as 2 byte) 那么应该是-32768 ~ +32768阿! 为什么是 -32768 ~ +32767 呢?
少了的那个数呢?
我是新手 呵呵 :)
...全文
114 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
公子骏 2008-06-15
  • 打赏
  • 举报
回复
说错了,int是32bit
K行天下 2008-06-15
  • 打赏
  • 举报
回复
你弄错了吧, unsigned char是8位
范围为: 00000000 - 11111111
8个1是十进制的多少? 是 2^8 - 1 =255!!!!
2字节int也是一样,除去符号位, 剩下31位, 最大是 2^31 - 1 = 32767
公子骏 2008-06-15
  • 打赏
  • 举报
回复
还有int应该是4字节16bit
weiyijiji 2008-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 free1879 的回复:]
引用 1 楼 mySingleLive 的回复:
你没把0算进去

00000000
除去符号位 这是0对吧?
01111111
除去符号位 可这是256啊!
[/Quote]
都unsigned的了,还符号位?00000000到11111111一共2的8次方个数(256),0到255,且255
=11111111
aomeng 2008-06-15
  • 打赏
  • 举报
回复
8bit 全部为1,是255

256 是 100000000 9位了。

你可以在windows 运行 calc (科学) 自己转换看一看。
greatws 2008-06-15
  • 打赏
  • 举报
回复
01111111

这是127
公子骏 2008-06-15
  • 打赏
  • 举报
回复
01111111 这应该是127吧
buf1024 2008-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 free1879 的回复:]
01111111
除去符号位 可这是256啊!
[/Quote]

256么?
free1879 2008-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mySingleLive 的回复:]
你没把0算进去
[/Quote]
00000000
除去符号位 这是0对吧?
01111111
除去符号位 可这是256啊!
公子骏 2008-06-15
  • 打赏
  • 举报
回复
你没把0算进去

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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