C语言中short整型数据的范围-32768----32767是中的-32768是如何确定的

谢谢!但我想在问问,0 ~ 65535 这里最大 的数是65535,是2^16-1;但如果十六个数全是一呢?这样不是更大吗

short 占用内存空间2个字节,也就是16个二进制位。

表示负数时,最高位为符号位(负数的符号位为1),最小的负数为1000 0000 0000 0000 ,但是在计算机中负数是用补码(符号位不变,其余位取反,然后加1)表示的,人们规定1000 0000 0000 0000的补码为-32768 ,所以在补码系统中最小的是-32768

表示正数时,最高位为符号位(正数的符号位为0),最大的正数为0111 1111 1111 1111 即2^15 - 1 = 32767
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-27
short整形在32位PC上是2个字节表示的,每个字节是8个二进制比特,一共就是16个比特
16个比特,能表示的数的个数是 0 ~ 2^16-1,即0 ~ 65535共65536个,如果表示正负整数各一半,那就是负整数-32768 ~ -1,共32768个,0 一个,正整数 1 ~ 32767 共32767个,一共65536个。
不知道我说明白了没有。
第2个回答  2010-12-27
计算机中间是用补码表示二进制数的,一个整形是两个字节,一个字节是八位二进制数,所以一个整形数是一个16位的二进制数,出去一个符号位,数值位是15位,而用补码的话,下限就是负的二的十五次方,上限就是2的十五次方减一
第3个回答  2010-12-27
①short 占用内存空间2个字节,也就是16个二进制位

②每个二进制位仅能表示两种可能,2^16 = 65536 = 32767- (-32768) + 1

③类似的,unsigned char 能存储的是0~255范围 因为是一个字节空间。本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网