c语言中,基本数据类型的数值范围是怎么计算出来的?

例如,int的数据范围是-2^15~(2^15-1),这个数据范围是如何计算和划分的?... 例如,int的数据范围是-2^15~(2^15-1),这个数据范围是如何计算和划分的? 展开
 我来答
百度网友1fc36d4
2011-09-21 · TA获得超过3128个赞
知道大有可为答主
回答量:1497
采纳率:100%
帮助的人:1816万
展开全部
你这里对应的int是16位的,最高位是符号位,表示正负,还有15位用来表示数值,于是就有int的数据范围是-2^15~(2^15-1)

2^15就是2的15次幂,也就是15个2相乘。int类型15位数值位,每位有0,12种状态,全排列就是2^15,正负数全算上,就是其数据范围了。
zhangtinglmm
推荐于2017-10-05
知道答主
回答量:30
采纳率:0%
帮助的人:19.9万
展开全部
假设int类型是8位的整形数据类型,正数是从(0000,0000)B到(0111,1111)B,
二进制1000,0000表示的是2^8,所以0111,1111则是1000,0000B-1所得,即2^8-1,这是正数的最大值,负数最高位是固定的为1,所以负数的时候从1000,0000(即为-0)到1111,1111(最高位是符号位,不参与运算)这个数,所以他的范围是-2^8
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ascxyh007
2011-09-22
知道答主
回答量:11
采纳率:0%
帮助的人:1.8万
展开全部
这个要看具体的系统和编译器了 你可以写一句sizeof(int);看看他返回多少字节 按照你的数据应该是返回2 字节=16byte 符号位占用一位 之后就是2进制的计算了 15个2进制位能表示的最大整数是15位全1 即2的15次方-1 负数同理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式