| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1886 人关注过本帖
标题:[奇怪]简单的C++程序,疑问
取消只看楼主 加入收藏
maxlea
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-12-7
收藏
 问题点数:0 回复次数:3 
[奇怪]简单的C++程序,疑问


#include <iostream>
using namespace std;
int main()
{
float a=50.25,b=11.17;
cout.setf(ios_base::fixed,ios_base::floatfield);
cout << \"a = \" << a << endl
<< \"b = \" << b << endl
<< \"a + b = \" << a + b
<< endl ;
return 0;
}

结果是61.41998,float 是精确到6位的,为什么会出现这样的结果呢?我们口算是61.42,这个才4位啊?

[此贴子已经被作者于2007-1-27 22:39:41编辑过]

搜索更多相关主题的帖子: 疑问 贴子 作者 
2007-01-24 17:00
maxlea
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-12-7
收藏
得分:0 
我只是想知道为什么这样,不是为了实现,这是C++PRIMER里面的一个例子,它又说float是六位精确,这个事实和他自己矛盾了,所以偶郁闷啊

work~work
2007-01-24 18:52
maxlea
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-12-7
收藏
得分:0 

谢谢楼上的


work~work
2007-01-25 14:27
maxlea
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-12-7
收藏
得分:0 


#include<iostream>
using namespace std ;
int main()
{
for(float x=0; x<=1.0; x=x+0.1)
cout<<x<<\",\";
cout<<endl;
bool m = (x<=1.0) ;
cout << \"x = \" << x << endl ;
cout.setf(ios_base::boolalpha) ;
cout << \"x<=1.0 \" << m << endl ;
bool n = (1<=1.0);
cout << \"1<=1.0 \" << n << endl ;
return 0 ;
}

版主这么一说,偶又发现了有意思的....但是怎么解释呢?
运行这个感觉不深入了解c++会有很多头疼的事情...

[此贴子已经被作者于2007-1-27 22:28:42编辑过]


work~work
2007-01-27 22:28
快速回复:[奇怪]简单的C++程序,疑问
数据加载中...
 
   



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

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