在C语言中为什么int型的取值范围是-32768~32767

在C语言中为什么int型的取值范围是-32768~32767而不是-32768~32768呢。... 在C语言中为什么int型的取值范围是-32768~32767
而不是-32768~32768呢。
展开
 我来答
天云小店
2015-05-23 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:751万
展开全部
int型取值范围为-32768~32767是针对int型占2个字节来说的。

下面具体说明该范围的求法:
int型占2个字节,共16位。

int型能表示的最大正数为(最高位为符号位,正数的符号位为0):0111 1111 1111 1111
也即2^15-1=32767

int型能表示的最小负数为(最高位为符号位,负数的符号位为1):1000 0000 0000 0000(补码),而在计算机中负数是利用补码进行存储的,所以将1000 0000 0000 0000转换为源码就是1000 0000 0000 0000,也即-2^15=32768

所以int型取值范围为-32768~32767
百度网友bcf7e50
2006-07-30 · TA获得超过591个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:231万
展开全部
1楼的正解,因为有个0,其实你自己用2进制算一下就明白了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rarnu
2006-07-30 · TA获得超过1250个赞
知道大有可为答主
回答量:1612
采纳率:0%
帮助的人:2009万
展开全部
因为有一个0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zybzb
2006-07-30 · TA获得超过127个赞
知道小有建树答主
回答量:1492
采纳率:0%
帮助的人:622万
展开全部
范围而已,没什么为什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式