一、浮点数的比较
浮点数和整型数在计算机中表示的方式不相同,整型数能够直接比较相等,但是浮点数不能直接比较是否相等,如下:
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是一个整数。
标签:相等,函数,fabs,int,浮点数,abs From: https://www.cnblogs.com/sggggr/p/16927534.html