FLT_EPSILON 表示 float 类型能区分的最小相对精度,比 1.0 大一点的数到 1.0 的最小差。
定义
#define FLT_EPSILON 1.19209290e-07F
#define DBL_EPSILON 2.2204460492503131e-16定义于 <float.h>,是浮点类型的最小相对精度。
用法
#include <stdio.h>
#include <float.h>
int main() {
printf("FLT_EPSILON: %e\n", FLT_EPSILON);
printf("DBL_EPSILON: %e\n", DBL_EPSILON);
return 0;
}输出:
FLT_EPSILON: 1.192093e-07
DBL_EPSILON: 2.220446e-16注意事项
浮点比较时用 EPSILON 做容差,如 fabs(a-b) < FLT_EPSILON。