浮点型大小比较
計(jì)算機(jī)對(duì)單精度浮點(diǎn)數(shù)的比較。
只可能是 數(shù)學(xué)意義上不相等的,處理成相等,因?yàn)榫犬吘褂邢蕖?/span>
如果是數(shù)學(xué)意義上相等,卻處理成相等。這是不可能的。
?
你說(shuō)的,不能使用 a == b比較。
應(yīng)該是這么比較
float temp = fabs(a - b);
if ( -0.000001 < temp && temp < 0.000001)追問(wèn)fabsf 是求絕對(duì)值嗎?
我嘗試設(shè)定這幾個(gè)宏
#define EPSILON_E4 (float)(1E-4)
#define EPSILON_E5 (float)(1E-5)
#define EPSILON_E6 (float)(1E-6)
?
#define CompareFloatA(a,b)?? ((fabs(a-b)<EPSILON_E4) ? 1 : 0)
#define CompareFloatB(a,b)?? ((fabs(a-b)/a < EPSILON_E4 || fabs(a-b)/b < EPSILON_E4) ? 1 : 0)
#define CompareFloatC(a,b)?? ((fabs(a-b)/a < EPSILON_E4 && fabs(a-b)/b < EPSILON_E4) ? 1 : 0)
總結(jié)
- 上一篇: 嵌入式研发人员的核心竞争力浅谈 .
- 下一篇: uclibc和glibc的差别