c语言中int变量范围为什么是—32768至32767 就是正数的最大是2的15次方减一,想请教为什么要减一呢?

为什么不能表示正数32768呢?... 为什么不能表示正数32768呢? 展开
 我来答
ducky8688
2012-07-24 · TA获得超过753个赞
知道小有建树答主
回答量:241
采纳率:100%
帮助的人:99.5万
展开全部
你说的这个int是两个字节的,每个字节8位,由于第1位要用来表示符号位所以正的最大值是
0 1111111 11111111 总共15个1,
而2的15次方是
1 0000000 00000000
2的15次方减一刚好是 0111111111111111,就是 32767
百度网友26ad406
2012-07-24 · TA获得超过1611个赞
知道大有可为答主
回答量:1506
采纳率:100%
帮助的人:1080万
展开全部
在机器中 有符号最大数为0111111111111111 就是2的15次方减1
再加1 符号位变为1 就成负数了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zx10109797
2012-07-24
知道答主
回答量:6
采纳率:0%
帮助的人:3.6万
展开全部
这是由于语言定义整数存储位数决定的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sigua0956
2012-07-24
知道答主
回答量:22
采纳率:0%
帮助的人:10.8万
展开全部
0111111111111111 这是int型最大的正数。。。把这个数再加一就是2的15次方了。所以要减一。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式