C++ 中整型数据的数值范围为什么正数比负数小一个

如题所述

第1个回答  2014-09-22
整数类型 是使用 补码来表示的,正数的补码和原码(二进制)相同。
如果你把零也看作正数,那么正数和负数的数量就相同了。
char的范围是 [-128, 127]
正数的数量,0到127 共 128 个。
负数的数量,-1到-128 共 128个。

判断一个补码是正数还是负数,通过最高位来判断。
还拿char举例,去掉最高位,7位二进制可以表示 2的7次方个数,即128。

不知道是否解答了你的问题,若有疑惑,请追问。

望采纳:-)本回答被提问者和网友采纳
第2个回答  2014-09-22
你把0当成正数就没少了
第3个回答  2014-09-23
不一定。通常采用的补码会这样。
第4个回答  2014-09-22
补码
相似回答