A bug in Excel 2007 reported earlier this week may be ugly, but it's only skin deep, Microsoft said late Tuesday.
With the bug, results that should have been shown as 65,535 showed instead as 100,000, and a related problem cropped up with 65,536, Microsoft's David Gainer said in a blog posting. But the problem affected how Excel showed the number, not in what the spreadsheet software actually "knows."
"This is an issue in a function that puts numbers in cells, so the values in Excel's memory are actually correct," Gainer said. "Any calculations based off that cell will be accurate too."
That's still a problem, of course, but it might be comforting to know that it's not as likely to creep outward from one result to the next.
A repair is in testing now. "We've come up with a fix for this issue and are in the final phases of a broad test pass in order to ensure that the fix works and doesn't introduce any additional issues--especially any other calculation issues," Gainer said. "This fix then needs to make its way through our official build lab and onto a download site--which we expect to happen very soon."
He didn't try to downplay the problem, as Intel once famously did with the FDIV calculation bug in some early Pentium processors, but he did indicate it's not widespread. "Of the 9.214*10^18 different floating-point numbers that Excel 2007 can store, there are 6 floating-point numbers (using binary representation) between 65534.99999999995 and 65535, and 6 between 65535.99999999995 and 65536 that cause this problem," Gainer said.
Floating-point numbers are those described with two components--the first between 1 and 10 and the second an exponent of the power of 10. So, for example, 2.6^10*2 is 2.6 * 100, or 260.
Microsoft on Tuesday confirmed a bug in Excel 2007 that can cause it to produce erroneous answers for a particular multiplication task.
Specifically, the problem can crop up when the answer to a multiplication problem should result in 65,535. You fans of binary arithmetic don't need to be told that's 2 to the 16th power minus one, or maximum integer that can be described with two bytes, counting up from zero. So it's a good bet some binary-to-decimal translation is involved in the problem.
A repair is in the works, Microsoft said, without sharing much more in the way of detail.
"We are currently in the process of developing and testing a fix for the flaw," Microsoft said in a statement Tuesday. "Microsoft places a high priority on quickly responding to customer feedback, and we are committed to finding ways to provide a better software experience."
News of the bug surfaced Saturday on an Excel mailing list, and Slashdot picked it up Tuesday. The latter forum, with a disproportionate population of Microsoft bashers, gleefully pounced on the problem.
One commenter said Microsoft's fix will offer a new rendition of the hated Clippy: The fix will trigger the appearance of "an animated sprite of Charles Babbage's head," who will say, "It looks like you're trying to multiply two numbers. I can help show you how to use the Method of Finite Differences to find a good approximation of your answer using only addition and subtraction. Would you like me to bring up a wizard so that we can get started on finding an appropriate power series?"
Another commenter was more constructive, observing that even when the problem crops up, the correct results are placed in a graph.
- prev
- 1
- next





