C语言中为什么float型数据的范围是3.4E-38~3.4E+38

菜鸟求助感谢winelover72的回答我的意思是32位中底数占多少位,指数占多少位.底数的3.4是怎么计算出来的?64位的double型底数占多少位呢?... 菜鸟求助
感谢winelover72的回答
我的意思是32位中底数占多少位,指数占多少位.底数的3.4是怎么计算出来的?
64位的double型底数占多少位呢?
展开
 我来答
winelover72
2007-12-04 · TA获得超过4.2万个赞
知道大有可为答主
回答量:5901
采纳率:100%
帮助的人:4564万
展开全部
因为float所占的位数决定了他的大小
位数就是计算机的存储所需要的bit多少
32位浮点,64位双精度浮点范围不同
//////////////////////
以前学计算系统基础的时候有这么个说法
计算机存储的形式都是01了,
在32位的01中,第一位表示正负,最后8位表示指数,中间的表示小数。
最后化成1.几的形式的多少次方
那是自己定义的。
c也有自己的定义方法吧:
对于单精度浮点数来说,有阶码8位表示正负
当尾数渠道全1时再加上小数点前面的1,阶码取到最大正数127(8位,正数最大127,负数最小-128),浮点数渠道正数的最大值。
+1.111111111111111111111*2^127
1.后面23个1
约等于2*2^127=3.4*10^38
负数亦然
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式