正确比较两个实数的做法是事先指定一个可接受的误差范围,当实数之差小于这个误差范围时,则认为两者相等,否则为不相等
//不相等的两个数被判为相等的例子
#include<iostream>
using namespace std;
int main()
{
float a = 1.1234567890;
float b = 1.1234567891;
if(a==b)
{
cout<<"a=b"<<endl;
}
else
{
cout<<"a!=b"<<endl;
}
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}
输出
输出.PNG使用精度定义
#include<iostream>
#include<cmath>
using namespace std;
#define PRECISION 5
int main()
{
float a = 4;
float b = 7;
if(abs(a-b)<=PRECISION)//由于设置的精度是5,所有计算机会判定为相等
{
cout<<"a=b"<<endl;
}
else
{
cout<<"a!=b"<<endl;
}
cout<<"a="<<a<<" b="<<b<<endl;
return 0;
}
网友评论