• 判断浮点数是否相等


    在delphi中:

    uses Math;

    procedure TForm1.FormCreate(Sender : TObject);

    var

      a : Double;

      b : Double;

    begin

      //初始化a,b.

      ShowMessage(FloatToStr(Max(a,b))); 

    end;

    在delphi中,函数Max可以重载。所以,Max可以判断各种数值类型。另外还有函数Min,使用方法和Max相同。这种做法只能在delphi中才能使用,在其他的语言中需要人为的写函数进行判断。

    比如用C++语言:

    // C/C++中只能近似的判断出浮点数大小,因此需要使用结合相对误差和绝对误差来判断。

    float Max(float a, float b,float error)
    {
        if(a==b)
            cout<<"a=b"<<endl;
        else if((a-b)>0 && (a-b)/a>error)
            cout<<"a与b相差大于相对误差"<<endl;
        else if((b-a)>0 && (b-a)/a>error)
            cout<<"a与b相差大于相对误差"<<endl;
        else
            cout<<"a与b近似相等"<<endl;
        return 0;
    }
    void main()
    {
        //float a ,b;
        Max(0.1000001,0.1000010,0.00001);
    }

  • 相关阅读:
    LIS
    原根
    数三角形
    组合数问题
    最短路问题
    2020总结
    树状数组
    康托展开
    LCA
    并查集
  • 原文地址:https://www.cnblogs.com/Blogs-young-chan/p/4680291.html
Copyright © 2020-2023  润新知