我有一个简单的代码来比较 2 个浮点数:
我尝试使用 fabs,但它给出了错误的奇怪结果。错误是什么,正确的形式是什么?
#include <stdio.h>
#include <stdlib.h>
#include <float.h>
void compareFloat(double a1, double a2)
{
if(fabs(a1 - a2) < DBL_EPSILON)
printf("a1 is smaller\n");
else
printf("a1 is larger\n");
}
int main()
{
float a1=0.0000004f, a2=0.0005f;
compareFloat(a1, a2);
}
这段代码有什么错误?a1 is smaller
即使我设置 a1=0.004f 和 a2=0.0005f它也总是打印