C语言中,两个浮点数能直接相等?

我认为应该不进入IF里啊……
2025-02-03 01:56:52
推荐回答(2个)
回答1:

对于float和double类型的数,一般不用 == 来判断二者是否相等,通常是取二者的差的绝对值小于某个数时,就认为是相等的,原因是浮点数的表示误差较大。

const double eps = 1E-6;
double a = 1.234509,b = 1.23508;
if(fabs(a - b) <= eps) // 认为是相等

回答2:

这个当然相等