"We all learned how to multiply with pencil and paper, even great big numbers and decimals. But when it comes to something important like a blueprint or a scientific formula we reach for a calculator - or a spreadsheet. That's much more reliable, right? Well, not if the spreadsheet is Excel 2007. Over the weekend a member of the microsoft.public.excel newsgroup revealed that Excel 2007 thinks that 850*77.1 is 100,000. What's the correct answer? Anybody? Anybody? Bueller? Anybody? Right, it should be 65,535. Other members verified that the error carries over into some (but not all) calculations based on the incorrect result. Microsoft has been informed of the bug, but hasn't yet formulated a response."Might as well try out Open Office. Di mo na kailangang magbayad ng libo-libong piso o maging pirata.
Update 10/6/07
Here is an explanation on why excel can't multiply and his verdict:
"In general, I like ragging on Microsoft as much (if not more than) you average Mac user. But I can't say that I really blame them too much for this one. Floating point arithmetic and conversion is a nightmare - it's enormously complex, and the demand for speed is extraordinary. Slowing things down a tiny bit - taking an extra microsecond per conversion - can have a huge impact on the performance of the system. That kind of code is under constant pressure to squeeze out every last drop of performance. And errors like this are so easy to miss, while catching them in testing is almost impossible. You can only reliably catch this kind of problem by doing a detailed analysis of the logic of the code, and all you need to do is miss one out of hundreds of different corner cases, and you're hosed. It's just so hard to get right that the only surprise is that they've made so few mistakes like this."
No comments:
Post a Comment