我剛剛讀了this nice answer given on how to compare floating-point values for equality。以下(由我略作修改)建議,而不是直接的比較,以0:測試浮點值是否相等:是否有「精度」常量的標準名稱?
const double epsilon = 1e-5;
double d = ...;
if (Math.Abs(d) < epsilon)
{
// d is considered equal to 0.
}
我的問題是關於可變epsilon
1)的名稱。 「epsilon」是指定浮點數精度的通用名稱嗎?(&hellip;這是哪個被認爲是不同數字的任何兩個值之間的最小鑑別差異)?
由於上述代碼由於其簡單性而始終易於理解,因此這看起來似乎無關緊要。但是我經常偶然發現這個命名問題,並希望一勞永逸地知道如何命名這個精度常數,並且有利於讓讀者閱讀我的代碼的人知道它的意圖。
1)我知道,小量(ε短,或È)經常被用於指定偏差或誤差,例如在統計學中(迴歸分析)。
剛剛發現了維基百科文章[機器epsilon](http://en.wikipedia.org/wiki/Machine_epsilon)併發布了[後續問題](http://stackoverflow.com/questions/3281237) /是最使用-的機基-ε-適當換浮點平等檢驗)。 – stakx 2010-07-19 13:14:22