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

谢谢!但我想在问问,0~65535这里最大的数是65535,是2^16-1;但如果十六个数全是一呢?这样不是更大吗... 谢谢!但我想在问问,0 ~ 65535 这里最大 的数是65535,是2^16-1;但如果十六个数全是一呢?这样不是更大吗 展开
 我来答
天云小店
2015-05-16 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:782万
展开全部
short 占用内存空间2个字节,也就是16个二进制位。

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

表示正数时,最高位为符号位(正数的符号位为0),最大的正数为0111 1111 1111 1111 即2^15 - 1 = 32767
jdq_37
2010-12-27 · TA获得超过996个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:953万
展开全部
short整形在32位PC上是2个字节表示的,每个字节是8个二进制比特,一共就是16个比特
16个比特,能表示的数的个数是 0 ~ 2^16-1,即0 ~ 65535共65536个,如果表示正负整数各一半,那就是负整数-32768 ~ -1,共32768个,0 一个,正整数 1 ~ 32767 共32767个,一共65536个。
不知道我说明白了没有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编程那点事
2010-12-27 · TA获得超过541个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:255万
展开全部
计算机中间是用补码表示二进制数的,一个整形是两个字节,一个字节是八位二进制数,所以一个整形数是一个16位的二进制数,出去一个符号位,数值位是15位,而用补码的话,下限就是负的二的十五次方,上限就是2的十五次方减一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Monkey家园
2010-12-27 · TA获得超过5635个赞
知道大有可为答主
回答量:1134
采纳率:60%
帮助的人:613万
展开全部
①short 占用内存空间2个字节,也就是16个二进制位

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

③类似的,unsigned char 能存储的是0~255范围 因为是一个字节空间。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式