浮点型的有关问题
浮点型的问题
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{ double c;
double a=0.1;
c=a*10; //输出我1
cout<<c<<endl;
if(10*a==1)
cout<<"ok"<<endl;
else
cout<<"no"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
} 显示永远都是 no
我知道是浮点型的精度问题,但是到底是什么原因?请各位帮助一下菜鸟我!
------解决方案--------------------
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{ double c;
double a=0.1;
c=a*10; //输出我1
cout<<c<<endl;
if(10*a==1)
cout<<"ok"<<endl;
else
cout<<"no"<<endl;
system("PAUSE");
return EXIT_SUCCESS;
} 显示永远都是 no
我知道是浮点型的精度问题,但是到底是什么原因?请各位帮助一下菜鸟我!
------解决方案--------------------