| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3264 人关注过本帖
标题:谭浩强教材上,单精度实数有效位是6~7位,6是如何得出的?
只看楼主 加入收藏
蓝梅
Rank: 2
等 级:论坛游民
帖 子:23
专家分:19
注 册:2010-9-6
结帖率:16.67%
收藏
已结贴  问题点数:20 回复次数:11 
谭浩强教材上,单精度实数有效位是6~7位,6是如何得出的?
谭浩强教材上,单精度型实数有效位是6~7位,6是如何得出的?
搜索更多相关主题的帖子: 谭浩强 单精度 实数 教材 
2010-09-10 18:02
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:2 
没看明白,说得详细一点

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-09-10 18:04
清风拂晓
Rank: 8Rank: 8
来 自:火星
等 级:蝙蝠侠
威 望:1
帖 子:356
专家分:889
注 册:2010-8-13
收藏
得分:2 
这好像和那个2进制的有关

清风拂暮(木)
2010-09-10 18:05
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:2 
以下是引用蓝梅在2010-9-10 18:02:52的发言:

谭浩强教材上,单精度型实数有效位是6~7位,6是如何得出的?
浮点数精度的问题没有绝对精确地!!!
你可以用不同的编译器运行下面的代码,得到的结果有可能会出乎你的意料的!!
(我在TC下运行结果是509,GCC下结果为510,是不是有点不可思议?)
程序代码:
#include <stdio.h>

int main(int argc, char *argv[])
{
     float p = 5.1f;
     int f = (int)(p*100);
     printf("%d", f);
     return 0;
}

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-09-10 18:45
cacker
该用户已被删除
收藏
得分:2 
提示: 作者被禁止或删除 内容自动屏蔽
2010-09-10 18:59
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:2 
这个我曾经解释过了,1位符号码,8位的阶码,剩下23位的尾数,
于是,能表示的最小精度为2的-23次方,结果是0.00000011920928955078125

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-09-10 19:03
蓝梅
Rank: 2
等 级:论坛游民
帖 子:23
专家分:19
注 册:2010-9-6
收藏
得分:0 
谭浩强教材上,单精度型实数,在内存存储时占32位,能保证的有效数字是6~7位,6是如何得出的,7又是如何得出的?
2010-09-11 07:34
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用蓝梅在2010-9-11 07:34:03的发言:

谭浩强教材上,单精度型实数,在内存存储时占32位,能保证的有效数字是6~7位,6是如何得出的,7又是如何得出的?

在你楼上已经有解释

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-09-11 08:12
乌鹊滥用
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2010-9-11
收藏
得分:2 
我摸着楼主的头笑而不语
2010-09-11 08:52
蓝梅
Rank: 2
等 级:论坛游民
帖 子:23
专家分:19
注 册:2010-9-6
收藏
得分:0 
楼上的解释,没解释出6,7 是怎么 算出的。
楼上笑而不语。  为什么不语,如果你知道麻烦告我,在此谢谢啦。  
 尾数23位加1位默认1 ,共24位,24lg2=7.22,算出了7, 那6是如何得出的?
2010-09-11 10:42
快速回复:谭浩强教材上,单精度实数有效位是6~7位,6是如何得出的?
数据加载中...
 
   



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

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