2016年1月20日 星期三

倍精度 DBL_EPSILON

電腦是用浮點數的方式來做小數的運算
既然是浮點數,那就一定有誤差。
倍精度就是表示使用double的時候會出現的誤差值
DBL_EPSILON 大約等於2.2204460492503131e-016 (視compiler而定)

意思是你在做浮點數比較的時候,必須把這個誤差值給考慮進去。
即使c = a + b
但你判斷a + b == c還是可能會錯,
因為 a + b 可能等於 c + "一個很小的數"

沒有留言:

張貼留言