浮点数

一、浮点数的比较

浮点数和整型数在计算机中表示的方式不相同,整型数能够直接比较相等,但是浮点数不能直接比较是否相等,如下:

int main()
{
    int n=0;
    float val=1.0, x1=1.9/2.1, y2=2.1/1.9;
    for(int i=0;i<21;++i)
        val *= x1;
    while(val!=1.0)
    {
        val *=y2;
        n++;
    }
    printf("%d \n", n);
    return 0;
}

上述程序的输出结果是:无限循环。
因为while条件中,两个无符号数直接进行了相等比较。一般,我们在比较两个浮点数是否相等时,采用abs(x1-x2)<1e-7。

二、fabs和abs的区别

函数fabs的作用是求浮点数x的绝对值;函数abs的作用是求x的绝对值。fabs函数原型:double fabs(double x);abs函数原型:int fabs(int x)。fabs函数参数:参数x是一个浮点数;abs函数参数:参数x是一个整数。

posted @ 2022-11-26 15:35  sgggr  阅读(160)  评论(0编辑  收藏  举报