Excel 2007 Bug : 850 * 77.1 = 100000 ?

25 九月, 2007 (22:08) | 電腦與網路

希望我的薪水公式有用到這個運算 :p

剛看到一條令人震驚的新聞Excel 2007 裡面有神奇的 bug,讓它算 850*77.1 出來的答案會是 100000 (直接用 =850*77.1 或是 A1=850、A2=77.1、A3=A1*A2 都可以得到同樣結果),正確的答案應該是 65535 !! 我自己玩的結果,85*7718500*7.718.5*7710 都沒事,獨獨就是 850*77.1 有錯;而且,把得到的這個結果再做二度運算,結果也大相逕庭,加法會錯 (會拿 100000 去算),減乘除都沒問題 (會拿 65535 去算)。現在大家都還猜不出問題在哪,似乎只有靜候 Microsoft 通知一途。

回顧歷史,古早年代 Intel 也曾經出過一次 Pentium 浮點運算錯誤的包,那個時候 Intel 的解法是快刀斬亂麻、回收所有有問題的產品 (印象中 10 倍速時代 有提到這件事);很顯然的 Microsoft 會比 Intel 輕鬆,畢竟軟體的問題只要一個 patch 就能解決了…

2007/10/11 Update : Microsoft 推出 patch 了,這兩天的 windows update 應該就會更新,或者你也可以直接從這裡安裝。

Technorati Tags: ,

Comments

Comment from 鳥毅
Date: 2007/09/26, 9:06 上午

我用 Excel 2003結果是65535,老師沒有和你說微軟的產品沒有SP1不要用嗎?(丟筆) XD

Comment from mangoice
Date: 2007/09/26, 9:24 上午

我的=850*77.1是65535耶~

Comment from ijliao
Date: 2007/09/26, 10:15 上午

啊都說是 Excel 2007 了,就請不要拿 2007 以外的版本來玩這個 bug 了吧…

Comment from dada
Date: 2007/09/27, 10:00 上午

Explaining the Excel Bug (by Joel on Software)

http://www.joelonsoftware.com/items/2007/09/26b.html

Comment from hu
Date: 2007/09/27, 2:13 下午

Microsoft Excel : Calculation Issue Update
http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.aspx

Comment from Arashi
Date: 2007/09/28, 12:19 上午

版大你好:
不好意思~想請問一下你說使用加法時會以100000來計算,想請教你是使用了哪個數字呢?
因為我這邊用加法去算時,依然會以65535去計算!

然而這個錯誤只有在 ”顯示” 計算結果的時候出現;但是在記憶體中的計算結果是正確的,所以並不會影響到其他的運算。
請放心使用吧!!!!我很喜歡office 2007 ! 希望大家都去試試看~!

如果想獲得更新更快的資訊也可以參照這網址(有提供rss):
http://blogs.msdn.com/excel/archive/2007/09/25/calculation-issue-update.aspx

Comment from Kuon
Date: 2007/09/28, 3:01 下午

題外話, Pentium 離晚輩我很久了, 但是後來 Intel 就搞了個 microcode update 的機制:P

Write a comment