| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖, 1 人收藏
标题:新人求助 关于数据类型精度的几个问题
只看楼主 加入收藏
knightsaber
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-4-8
结帖率:60%
收藏(1)
已结贴  问题点数:20 回复次数:9 
新人求助 关于数据类型精度的几个问题
程序1:
#include<stdio.h>
void main()
{
    float a;
    double b;
    a=33333.33333;
    b=33333.33333333333333;
    printf("a=%f\n b=%f\n",a,b);
}
结果:
a=33333.332031
b=33333.333333
嗯……知道单精度浮点型的有效数字是7位,但是输出结果按双精度输出时末尾的2031是怎么回事……

程序2
#include<stdio.h>
void main()
{
    float a,b;
    int c,d;
    a=123456.789e3;
    b=a+20;
    c=123456789;
    d=c+20;
    printf("b=%f\n",b);
    printf("d=%f\n",d);
}
输出结果:
b=123456816.000000
d=0.000000

b为什么不等于123456809.000000?
还有d为什么整数部分是0?

求大神们指教
搜索更多相关主题的帖子: double void include 
2012-04-08 15:37
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:5 
浮点型不是什么数都能存的,会有精度丢失,比如著名的计算器问题……你可以单独输出a看看
d是int类型的,用浮点型的格式来解释那一段内存就会出错,详细的可以查相关的资料

酱油实习生
2012-04-08 23:10
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:5 
这个看书自学吧 丶谁会给你讲这个

编程之路定要走完……
2012-04-08 23:15
knightsaber
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-4-8
收藏
得分:0 
回复 2楼 墨清扬
谢谢大神~我试着去领悟看看
2012-04-09 08:29
knightsaber
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-4-8
收藏
得分:0 
回复 3楼 C_戴忠意
就是在看书自学,所以才苦逼啊
2012-04-09 08:30
cuijunchao
Rank: 5Rank: 5
来 自:湖南桂东
等 级:职业侠客
威 望:3
帖 子:132
专家分:386
注 册:2012-4-4
收藏
得分:5 
在自动转换类型中,整型只可以转换为double型,你强制转换类型才可以。
2012-04-09 11:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
a=33333.332031
b=33333.333333
嗯……知道单精度浮点型的有效数字是7位,但是输出结果按双精度输出时末尾的2031是怎么回事……

精度原因导致的啊 舍入误差 貌似叫这个?

VC就有提示的

warning C4305: “=”: 从“double”到“float”截断




2012-04-09 12:45
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
我在想有没有可能float不让它截断呢?
2012-04-09 12:52
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
长学问了 以前没琢磨过这个事

http://

推荐看看这个 讲的很好。。
2012-04-09 12:56
knightsaber
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2012-4-8
收藏
得分:0 
回复 7楼 zklhp
谢谢版主~学习了
2012-04-09 19:15
快速回复:新人求助 关于数据类型精度的几个问题
数据加载中...
 
   



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

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