为了比较 C 中的两个双精度类型变量,我定义了#define EQUALITY_EPSILON = 1e-8
. 我正在做如下比较:
if((img_score[i] - img_score[j]) >= EQUALITY_EPSILON){
// handle for ith score greater than jth score
}
else if((img_score[j] - img_score[i]) >= EQUALITY_EPSILON){
// handle for ith score smaller than jth score
}
else{
// handle for ith score equal to jth score
}
我面临的问题是我的代码中的分数非常小,因此对于EQUALITY_EPSILON = 1e-8
,在某些情况下,比较的结果是相等的。我的问题是我可以设置多小EQUALITY_EPSILON
?