标题:初学者请教各位高手`~~
只看楼主
zjr1986
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-4-16
 问题点数:0 回复次数:3 
初学者请教各位高手`~~
#include<iostream.h>
void main(){
    float x=0.1f;
    float y=2.1f;
    x-=0.09f;
    y-=2.09f;
    cout<<x-y<<endl;
}
为什么结果不为0,,而是  7.45058e-009;我刚开始学 搞不懂这些数值类型的 头疼啊   各位高手帮帮我啊  谢谢`~
搜索更多相关主题的帖子: 初学者 
2008-04-18 12:18
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
float类型的数据就是这样..如你这样float i=1.1 和float n=3.3 而n/i!=3

学习需要安静。。海盗要重新来过。。
2008-04-18 12:21
zjr1986
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-4-16
得分:0 
那怎么才能得到正确的值呢?
2008-04-18 12:34
yeyuanzhi
Rank: 1
等 级:禁止访问
帖 子:88
专家分:0
注 册:2005-12-31
得分:0 
计算误差很正常,改用double能好些。
2008-04-19 09:20



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




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

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