我家丫头的cpp

比较实数

2019-03-26  本文已影响0人  李药师_hablee

正确比较两个实数的做法是事先指定一个可接受的误差范围,当实数之差小于这个误差范围时,则认为两者相等,否则为不相等

//不相等的两个数被判为相等的例子
#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;
}

输出

输出.PNG

如果将精度定义为2的输出

输出.PNG
上一篇 下一篇

猜你喜欢

热点阅读