2017年2月1日 星期三

Excel-為何(AVERAGE(0.1,0.1,0.1)-0.1)運算結果不為0?

在網路上看到有人發現了 Excel 中的奇怪現象,如下圖:
Excel-為何(AVERAGE(0.1,0.1,0.1)-0.1)運算結果不為0?
比較一下:
(1)
公式:=(AVERAGE(0.1,0.1,0.1)-0.1)
顯示值:-1.38778E-17
儲存內容:-0.0000000000000000138777878078145
(2)
公式:=AVERAGE(0.1,0.1,0.1)-0.1
顯示值:0
儲存內容:0.0000000000000000000000000000000
(1)和(2)的公式內容以數學運算的角度看起來結果應該要一樣,但是在 Excel 的運算結果產生了差異。確實原因,我也無法得知。
然而-0.0000000000000000138777878078145看起來也是接近 0,因為 Excel 裡的有效位數只有 15 位。
以下的運算也會有相同的結果
=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1)-0.1)
=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1,0.1)-0.1)
=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)-0.1)
=(AVERAGE(0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1)-0.1)
網友們可以一起來探究!

沒有留言:

張貼留言

檢視其他文章

好康東東