标题:C语言的浮点数问题~
取消只看楼主
svjh
Rank: 1
等 级:等待验证会员
帖 子:47
专家分:0
注 册:2007-11-27
 问题点数:0 回复次数:3 
C语言的浮点数问题~
以下是程序代码:
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    float f_number=123.1122334455667788f;
    double d_number=123.1122334455667788;
    printf("实数值 = 123.1122334455667788\n");
    printf("----------------\n");

/*单精度浮点数*/
    printf("单精度浮点数小数表示法= %f\n",f_number);
    printf("单精度浮点数科学计数法= %e\n",f_number);

/*双精度浮点数*/
    printf("双精度浮点数小数表示法= %f\n",d_number);
    printf("双精度浮点数科学计数法= %e\n",d_number);

    system("pause");
    return 0;
}

我想知道为什么单精度浮点数小数表示法的输出结果是:

123.112236

这里的最后一位怎么是6呢?

即使四舍五入也不对啊?

哪位高手来解答一下?

[[italic] 本帖最后由 svjh 于 2008-1-26 21:59 编辑 [/italic]]
搜索更多相关主题的帖子: 点数 C语言 quot number 单精度 
2008-01-25 16:56
svjh
Rank: 1
等 级:等待验证会员
帖 子:47
专家分:0
注 册:2007-11-27
得分:0 
但这个数是123.1122334455667788啊,
如果省去后面的,
那么不是123.112233吗?
2008-01-25 17:16
svjh
Rank: 1
等 级:等待验证会员
帖 子:47
专家分:0
注 册:2007-11-27
得分:0 
原帖由 [bold][underline]沙漠风暴[/underline][/bold] 于 2008-1-26 11:38 发表 [url=http://bbs.bccn.net/redirect.php?goto=findpost&pid=1188287&ptid=198728][/url]
单精度浮点数,只能精确8位,最后一位随机输出



不是只精确6位吗? 怎么8位?? (更糊涂了......-_-|||)
随机??
是指每次输出的最后一位都是随机的,
还是指根据浮点数来随机呢``? ( 但如果根据浮点数来随机的话,应该有规律可循吧`` )

[[italic] 本帖最后由 svjh 于 2008-1-26 22:08 编辑 [/italic]]
2008-01-26 22:06
svjh
Rank: 1
等 级:等待验证会员
帖 子:47
专家分:0
注 册:2007-11-27
得分:0 
谁能给个明确一点的回答啊~~~555555555
找了很久都没有这方面的答案......
2008-01-31 21:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-198728-1-1.html




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

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