News:

Who uses forums anymore?

Main Menu

Excel 2007 Multiplication Bug

Started by iago, September 25, 2007, 09:59:51 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

iago

http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22?hl=en#2f8806d5400dfe22

Apparently, if you multiple two numbers that make up 65,535, the result comes up 100,000.

Some people are saying this bug isn't serious. Personally, I'm going to ask my boss to change my salary to $65,535/year. :)

rabbit


MyndFyre

Quote from: Joe on January 23, 2011, 11:47:54 PM
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Quote from: Rule on May 26, 2009, 02:02:12 PMOur species really annoys me.

MyndFyre

Actually, confirmed.  It's not any arbitrary pair of numbers, when I read the thread it said it's specifically 850*77.1.  Other variants don't reproduce it (85*771, 850*771/10, etc).

Weird!
Quote from: Joe on January 23, 2011, 11:47:54 PM
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Quote from: Rule on May 26, 2009, 02:02:12 PMOur species really annoys me.

Warrior

I hear someone typed 1000 in code instead of 0x1000 which caused all sorts of things to go haywire.

And this is only a display issue, I believe it still does the correct calculation.

My guess is, (since 65k happens to be the limit for 16bit unsigned integer) is that this is legacy handling for an older format which is accidently processing newer content.
One must ask oneself: "do I will trolling to become a universal law?" And then when one realizes "yes, I do will it to be such," one feels completely justified.
-- from Groundwork for the Metaphysics of Trolling

iago

Quote from: MyndFyrex86/64] link=topic=10333.msg131137#msg131137 date=1190802760]
Actually, confirmed.  It's not any arbitrary pair of numbers, when I read the thread it said it's specifically 850*77.1.  Other variants don't reproduce it (85*771, 850*771/10, etc).

Weird!
Apparently it works if one of the numbers has a specific type of floating point representation. 77.1 has that kind of representation. At least, that's what I heard.


Quote from: Warriorx86] link=topic=10333.msg131138#msg131138 date=1190803700]
I hear someone typed 1000 in code instead of 0x1000 which caused all sorts of things to go haywire.

And this is only a display issue, I believe it still does the correct calculation.

My guess is, (since 65k happens to be the limit for 16bit unsigned integer) is that this is legacy handling for an older format which is accidently processing newer content.
I don't know if it's making the right calculation or not. From what I've been told (it's all hearsay to me), if you subtract 1 you get 65,534 and if you add 1 you get 100,001. That pretty much means that the internal representation is screwed up or corrupted in some way.

zorm

Quote from: http://forums.worsethanfailure.com/forums/thread/131214.aspx
The bug seems to exist, if a multiplication result is 65535 and one of the multiplicators? is a float with an infinite binary expression (according to IEE 754).
ie. 212.5*308.4 will produce the bug but 25*2621.4 will not, since 2621.4 has a finite expression.
I haven't been able to test though
"Frustra fit per plura quod potest fieri per pauciora"
- William of Ockham

iago

Quote from: zorm on September 26, 2007, 11:39:52 AM
Quote from: http://forums.worsethanfailure.com/forums/thread/131214.aspx
The bug seems to exist, if a multiplication result is 65535 and one of the multiplicators? is a float with an infinite binary expression (according to IEE 754).
ie. 212.5*308.4 will produce the bug but 25*2621.4 will not, since 2621.4 has a finite expression.
I haven't been able to test though
Heh, that's where I got the explanation from. :)


iago


Killer360

Quote from: iago on September 28, 2007, 02:33:32 PM
Quote from: Killer360 on September 28, 2007, 02:31:57 PM
Full story: http://www.msnbc.msn.com/id/21033161/
That actually says less than the story I posted. Totally not a "full story"!
Technically, it is a "full story" because it explains everything.  :P