| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1091 人关注过本帖
标题:请问实型数据的数值范围是怎么计算的?
只看楼主 加入收藏
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
请问实型数据的数值范围是怎么计算的?
学《C程序设计(第4版)》看到这没搞明白
哪位大侠给讲讲?


怎么不能插图啊?

搜索更多相关主题的帖子: C程序设计 
2011-10-09 14:38
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

这是书上第50页的表格

学C的秘诀=每天都来泡论坛
2011-10-09 14:39
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
我理解:
float型占4个字节,共32位
其中符号1位,指数8位,尾数23位
那么指数范围应该是-128以及-127到127对吧
尾数表征的是1.0到2.0之间的数
那么(绝对值)最大取值是2.0*pow(2,127)=3.4E38,这个比较好理解
可除了指数是-128时对应0这个特殊值以外,最小取值应该是1.0*pow(2,-127)=5.8E-39才对啊
那个1.2E-38是怎么算出来的?

[ 本帖最后由 edwardflee 于 2011-10-9 14:48 编辑 ]

学C的秘诀=每天都来泡论坛
2011-10-09 14:46
statics
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:163
专家分:625
注 册:2011-8-29
收藏
得分:5 
Double(双精度浮点型)变量存储为 IEEE 64 位(8 个字节)浮点数值的形式,它的范围在负数的时候是从 -1.79769313486231E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308。

惟我独行...
2011-10-09 15:32
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
回复 4楼 statics
貌似也跟书上写的对不上呢,
大侠,是怎么算的呀?

学C的秘诀=每天都来泡论坛
2011-10-09 15:55
JMoveOffice
Rank: 2
等 级:论坛游民
帖 子:12
专家分:44
注 册:2011-10-9
收藏
得分:15 
规范化的阶码范围是-126~127;1.0X2^-126约为1.2X10^-38.
2011-10-09 17:04
edwardflee
Rank: 4
等 级:业余侠客
帖 子:145
专家分:234
注 册:2011-7-27
收藏
得分:0 
回复 6楼 JMoveOffice
原来有这种规定啊,
那么double的阶码范围也就是-1022到1023了对吧
所以最小取值是1.0*2^-1022=2.225E-308
最大取值是2.0*2^1023=1.798E308
嗯,这样一来数就基本对上了,多谢指教

学C的秘诀=每天都来泡论坛
2011-10-10 08:32
快速回复:请问实型数据的数值范围是怎么计算的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013951 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved