c语言 怎么求单精度和双精度数值的范围?

 我来答
镜菊兴冬
2019-09-19 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:26%
帮助的人:936万
展开全部
这个最好去看一下计算机组成,里面讲到float数的表示方法,比如float数,计算机里面的存储形式是32位,第一位是符号位,第2~9这8位是2的n次方中的n,也就是阶码,阶码范围:±127,
单精度阶码:决定浮点数的数值范围。float绝对值最大最小:2^(±127)≈10^(±38)
双精度阶码:决定浮点数的数值范围。double绝对值最大最小:2^(±1023)≈10^(±306)
盘国英谭婷
2020-03-23 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:768万
展开全部
float和double的范围是由指数的位数来决定的。
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位)
8bits(指数位)
23bits(尾数位)
double:
1bit(符号位)
11bits(指数位)
52bits(尾数位)
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
float的范围为-2^128
~
+2^128,也即-3.40E+38
~
+3.40E+38;double的范围为-2^1024
~
+2^1024,也即-1.79E+308
~
+1.79E+308。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式