编程语言中数据的取值范围

[复制链接]
查看11 | 回复1 | 2009-3-29 12:18:52 | 显示全部楼层 |阅读模式
char型占内存8位,signed从-128到+127。这里为什么负数比正数要多一个,多了哪一个?
8位,首位表示符号,那么正负数应该是一样的,怎么会多一个的?

回复

使用道具 举报

千问 | 2009-3-29 12:18:52 | 显示全部楼层
因为8位啊,一共只能256个数字,有一个是0,那么正负数肯定是不一样多的。至于多哪一个,这算什么问题嘛。。每个数都不同,怎么说多哪一个。。数字在计算机中是以补码存储的,整数的补码和他们的二进制是一样的,即0到127就是00000000到01111111,128的二进制10000000表示的负数,你可以去了解补码的规则~~回答你补充的问题,因为有0啊。。0不是正数也不是负数。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行