Slashdot Log In
Excel 2007 Multiplication Bug
Posted by
kdawson
on Mon Sep 24, 2007 10:37 PM
from the be-fruitful-and-all-that dept.
from the be-fruitful-and-all-that dept.
tibbar66 writes with news of a serious multiplication bug in Excel 2007, which has been reported to the company. The example that first came to light is =850*77.1 — which gives a result of 100,000 instead of the correct 65,535. It seems that any formula that should evaluate to 65,535 will act strangely. One poster in the forum noted these behaviors: "Suppose the formula is in A1. =A1+1 returns 100,001, which appears to show the formula is in fact 100,000... =A1*2 returns 131,070, as if A1 had 65,535 (which it should have been). =A1*1 keeps it at 100,000. =A1-1 returns 65,534. =A1/1 is still 100,000. =A1/2 returns 32767.5."
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Microsoft just announced plans for their fix (Score:5, Funny)
In OOXML? (Score:5, Funny)
Re:In OOXML? (Score:5, Insightful)
Parent
Pentiums (Score:5, Funny)
Re:Pentiums (Score:5, Funny)
Parent
Re:Pentiums (Score:5, Funny)
Parent
Is anyone using Excel 2007? (Score:5, Insightful)
Who are you going to call? (Score:5, Funny)
Give em a break, even the Count from Sesame Street cant count that high.
Re:Who are you going to call? (Score:5, Funny)
Ghostbusters?
Parent
Re:Who are you going to call? (Score:5, Funny)
But I think the Count can manage to count to six without stuttering.
Parent
It only gets worse. (Score:5, Funny)
Re:It only gets worse. (Score:5, Funny)
What's your point?
Parent
I can see the OOXML tag now... (Score:5, Funny)
=850*77.1
</MultiplyLikeExcel2007>
Re:I can see the OOXML tag now... (Score:5, Insightful)
Lets wait and see
Parent
Unnecessary abstraction (Score:5, Funny)
Re:Unnecessary abstraction (Score:5, Funny)
Parent
some limited testing (Score:5, Interesting)
425 154.2 100000
212.5 308.4 100000
8500 7.71 100000
but this evaluates correctly..
25 2621.4 65535
so it's not every multiplication that evaluates to 65535
I'm using Excel 2007 12.0.6024.5000
Imperiled by binary decimals? (Score:5, Interesting)
Clearly the error is weirdly subtle, if 5.1*12850 gives the bugged behavior, but 8.5*7710 works just fine. In fact, I verified that all permutations of a bugged combination =A*B of the form =A/2*B*2 are bugged. Further...all of the buggy decimal values have no perfect floating point binary representation. 77.1 has an infinite binary expansion using IEE 754, while 8.5 has an exact representation. It seems likely that they are only using their BCD format (or whatever) when binary floating (or fixed) point just won't cut it, but then their internal->decimal conversion code chokes on 2^16 for some reason, while the binary (whether it is floating or fixed point) conversion works just fine (possibly because it doesn't have a boundary at 2^16--maybe it has its own threshold bugs
Re:Oh no! (Score:5, Insightful)
Parent
Re:Oh no! (Score:5, Funny)
News at 11
Parent
Re:obviously malicious (Score:5, Insightful)
Parent
Re:obviously malicious (Score:5, Insightful)
Parent
Re:Good Luck! (Score:5, Insightful)
What are the odds of that bug only affecting that number? It's a symptom that the underlying routine is totally fscked, in ways that could cause nasty surprises.
If it gave the wrong answer all the time you'd know it was crap and would just ignore the whole thing. It's when it only gives wrong answers some of the time that can lead you into a false sense of confidence.
You've also got to wonder, if it worked fine in previous versions of Excel, what the frack they were messing with to hose it up. It's not like somebody changed the rules of arithmetic recently, did they?
Parent
Re:Good Luck! (Score:5, Insightful)
"No it doesn't really affect anything. "
Oh, it's only the largest unsigned 16 bit number and comes up in a crapload of places. Enough times that you should have _memorized_ it by now.
Jeez. Please turn in your geek card NOW.
--
BMO
Parent
Re:Dunno... (Score:5, Funny)
What, lxvDXXXV?
(And yes, what have the Romans ever done for us, apart from apparently producing correctly functioning spreadsheet software?)
Parent