Slashdot Mirror


Excel 2007 Multiplication Bug

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."

93 of 806 comments (clear)

  1. Microsoft just announced plans for their fix by Anonymous Coward · · Score: 5, Funny

    They will be disabling multiplication in all future versions of Excel.

    1. Re:Microsoft just announced plans for their fix by cloricus · · Score: 5, Funny

      It is nice to see that since this is a free and open standard that the bug has been identified quickly and fixed.

      Oh wait, it isn't and the bug is still at large. Sorry, jumped the gun there due to the speed at which the Open Source community usually fixes issues like this. Maybe ISO should take note.

      --
      I ate your fish.
    2. Re:Microsoft just announced plans for their fix by Waffle+Iron · · Score: 5, Funny
      Microsoft already has a patch in the works to help users overcome this issue. Whenever the user types a '*' in a formula, an animated sprite of Charles Babbage's head will pop up. It will show this bubble caption:

      "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?"

    3. Re:Microsoft just announced plans for their fix by Bionic+Vapour+Boy · · Score: 4, Funny

      This doesn't work either: =850/(1/77.1) So they have to disable the divide-operation altogether.

    4. Re:Microsoft just announced plans for their fix by jkrise · · Score: 5, Funny

      They will be disabling multiplication in all future versions of Excel.

      No, no, no... remember this is effectively Office Vista.. so the fix will be, like:

      You are trying to multiply 2 numbers and the answer is 65535. This is a very dangerous multiplication frequently used in viruses... Cancel / Allow?

      --
      If you keep throwing chairs, one day you'll break windows....
    5. Re:Microsoft just announced plans for their fix by Chainsaw · · Score: 5, Funny

      Windows 4: "Oh, man. The previous one was garbage, but this one is making me physically ill."
      Windows 5: "What the hell have you done? Delete it! Delete it!"
      ...
      Windows 95: "Fuck it, we have to release this steaming pile of crap now.

      Just a theory...

      --
      War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
    6. Re:Microsoft just announced plans for their fix by edittard · · Score: 4, Funny

      What you need is specialised hardware.

      --
      At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
    7. Re:Microsoft just announced plans for their fix by Opportunist · · Score: 3, Insightful

      ...and if you click allow and get the wrong result, then it's all your fault.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    8. Re:Microsoft just announced plans for their fix by nschubach · · Score: 5, Funny

      Maybe the mod points are being run through Excel before being applied to posts.

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    9. Re:Microsoft just announced plans for their fix by CarpetShark · · Score: 5, Funny

      You are trying to multiply 2 numbers and the answer is 65535. This is a very dangerous multiplication frequently used in viruses... Cancel / Allow?


      Oh, is that how it works? I thought it wouldn't show you answers above 255, unless you have a HDCP-compliant monitor.
    10. Re:Microsoft just announced plans for their fix by FelixGordon · · Score: 4, Informative

      It looks more like the result of an overflow error at some stage of the calculation, since 65535 is the maximum value an unsigned 16 bit integer can hold.

    11. Re:Microsoft just announced plans for their fix by p0tat03 · · Score: 4, Insightful

      Typical Slashdot. In the end the vast majority of people who use Firefox aren't even coders. You seriously want them to grab the fix from CVS and backport it to their own copy? My God man, these people don't even know what make does, and what are you suggesting?

      There's nothing for open source apologists to gloat about when it comes to software fixes. As far as any normal user is concerned, bug fixes take just as long to come down the pipe as proprietary software. Nobody gives a hoot if it's fixed in CVS, if it's not fixed on their machine it's not fixed at all.

  2. In OOXML? by gvc · · Score: 4, Funny

    Perhaps this is how multiplication is done in OOXML. They do leap years in dates wrong, too.

    1. Re:In OOXML? by Anonymous Coward · · Score: 5, Insightful

      I use Matlab and Octave constantly for things everyone around me uses Excel for (I do structural engineering). I am no amazing hacker or anything, but I simply find it scads easier to use that sort of paradigm over the spreadsheet analogy for almost any application. That aside, Excel in particular seems constantly to try to outthink me and consistently to have these sorts of strange calculation errors.

    2. Re:In OOXML? by mennucc1 · · Score: 5, Funny

      Perhaps this is how multiplication is done in OOXML. They do leap years in dates wrong, too. oh my, it is clearly spelled on page 890 of the draft:
      to retain backward compatibility with MSDOS 16bit mode, the operands of any multiplication that may exceeds a 16 bit boundary must be converted to farsi and multiplied using an abacus emulator, as per sec (II)par alpha comma 2; the result may or may not appear in Windows Genuine Octal Format (a.k.a. fake octal - that is octal without the leading zero and minus 1) for added convenience of EndUser(tm).
    3. Re:In OOXML? by Baricom · · Score: 5, Funny

      I say we petition Microsoft to include a multiplyLikeExcel2007 element in the next version of OOXML.

    4. Re:In OOXML? by Anonymous Coward · · Score: 5, Funny

      The OOXML specs are already 65498 pages long. If Microsoft can give "multiplyLikeExcel2007" a 37 page treatment in the OOXML specs, the total page count for OOXML will reach an amazing 100000 pages (therefore 166 times better than ODF). Sounds like a winning plan to me!

    5. Re:In OOXML? by v1 · · Score: 3, Interesting

      I have a spreadsheet I use for my finances, and I have been having to resort to converting some numbers to strings and back again to get around rounding errors, but excel pulled a new one on me. After months of entering my checkbook data, a cell toggled to indicate a balance error. It was something like $1234.56 != $1234.56. I bumped the precision as high as it would go and both cells still showed exactly the same value but would not evaluate as equal. So I set a third cell thusly A3=A2-A1. And the third cell now showed as something like -1.0032E-18. (that's like 0.0000000000000000010032) Lovely. This is not the first time I have encountered cumulative rounding errors in Excel. So now I have to test not for (in)equality, but to test for the difference to be less than 1/100th of a cent. That's BS for a spreadsheet app.

      I was surprised to find that the error actually had came up much earlier, but when the difference between cells is less than a certain amount, excel's equality resolves as true. So removing the last few entries, the book balanced again, even though the difference was now -2.18E-19. Clearly they are aware of this problem and are trying to hide it. If it was not actively fudging numbers there would probably be a lot more people having numerical problems. (numbers cited here are illustrations, I do not recall the exact values or precision)

      --
      I work for the Department of Redundancy Department.
    6. Re:In OOXML? by Frankie70 · · Score: 4, Informative

      Welcome to the world of Floating point arithmetic.

      Look at these articles.

      http://support.microsoft.com/kb/q78113/
      http://c-faq.com/fp/printfprec.html
      http://c-faq.com/fp/fpequal.html

      Microsoft Excel was designed around the IEEE 754 specification with respect to storing and calculating floating-point numbers.

    7. Re:In OOXML? by norton_I · · Score: 4, Insightful

      Do not compare floating point numbers for equality. Doing so is almost always a bug.

    8. Re:In OOXML? by jhol13 · · Score: 3, Insightful

      Do not use floating point for financial calculations. Doing so is always a bug.

  3. Pentiums by MyLongNickName · · Score: 5, Funny

    What happens if you use this on an older Intel chip? Do the issues cancel out?

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    1. Re:Pentiums by 644bd346996 · · Score: 5, Funny

      Perhaps. I tried to test it out, but the hard drive with the swapfile caught fire before Excel finished loading.

    2. Re:Pentiums by Fuji+Kitakyusho · · Score: 5, Funny

      Not quite. The cell in that case just reads 99,999.999998263, when it should be 65,534.99994721.

  4. Is anyone using Excel 2007? by QuantumG · · Score: 4, Insightful

    I bought a Dell this year, it came with Office 2003.

    --
    How we know is more important than what we know.
    1. Re:Is anyone using Excel 2007? by QuantumG · · Score: 4, Funny

      Of course you did. You don't think they're going to pay you to do bug testing for them do you?

      --
      How we know is more important than what we know.
    2. Re:Is anyone using Excel 2007? by ultrasound · · Score: 3, Interesting

      I'm using Excel '97 and Word '97 on my XP Pro 2.6GHz dual core and they work fine. Excel loads in an instant, most numbers seem to multiply ok (haven't tested them all but I'm sure the service packs have fixed most major errors by now). In 10 years I haven't seen a single new feature that makes a compelling reason to upgrade.

      I started with Excel 2.0*, in those days every release seemed to add significant new features (and floppies) and there was always a rush to install the new version and some excitement as you discovered the new features. By Excel '97 the program was so feature rich that most users never used more than a fraction of its functionality, same goes for Word '97. Where do you go from there?

      (OOXML etc, I know).

      *I think it was 2.0, it was 20 years ago.

    3. Re:Is anyone using Excel 2007? by Sam_Brightman · · Score: 5, Funny

      "most numbers seem to multiply ok"

      perhaps making a statement like this about a spreadsheet is not really a shining endorsement. let me know when you've tested the rest of them.

      --
      sam brightman
  5. Who are you going to call? by renegadesx · · Score: 5, Funny

    1 2 3 4 5 5 6 7 8 9 10 11 12... ...65,533 65,534 100,000

    Give em a break, even the Count from Sesame Street cant count that high.

    --
    Make SELinux enforcing again!
    1. Re:Who are you going to call? by dvonhand · · Score: 5, Funny

      Who are you going to call?

      Ghostbusters?
    2. Re:Who are you going to call? by AJWM · · Score: 5, Funny

      1 2 3 4 5 5 6 7 8 9

      But I think the Count can manage to count to six without stuttering.

      --
      -- Alastair
    3. Re:Who are you going to call? by rubycodez · · Score: 4, Funny

      if you were a real fan you'd know that's when the Counts repeats a number and then comments how wonderful the items being counted are. e.g. five...five *wonderful* vampire bats! mwuhahahahaha!

    4. Re:Who are you going to call? by halcyon1234 · · Score: 5, Funny
      No, dude, you have it wrong. The Count always stops to repeat every now and then, to remind you of the objects being counted.

      1... 2... 3... 4... 5... 5 Mod points for Halcyon! {thunderbolt, lightning, kid-friendly-maniacal laughter}

    5. Re:Who are you going to call? by OverflowingBitBucket · · Score: 3, Funny

      1 2 3 4 5 5 6 7 8 9

      But I think the Count can manage to count to six without stuttering.

      Geez, way to go. Give 'em a chance to fix their current problems before you start finding new ones. ;)

  6. Yes. by oatworm · · Score: 3, Informative

    Yep - my office switched to Vista and Office 2007. Then again, we're a networking firm, so it's in our best interests to use stuff while it's still "beta" so we know the bugs and quirks before our customers start playing with it.

    As an aside, when I went to pick up a lease renewal form for my apartment complex, I noticed that the lady at the front counter was also running Office 2007, so I'd say it's out there - just not exceptionally widespread at the moment, compared to other versions of Office.

  7. Google Spreadsheet bug by DJ_Perl · · Score: 4, Interesting

    Open a Google Docs spreadsheet. Type =COMBIN(55,27)

    --
    -- Subvert the dominant paradigm. Repeat as desired. http://ownlifeful.com/
  8. Re:Oh no! by timmarhy · · Score: 4, Insightful

    well, it could very well lead to massive fuckups if anyone happens to make a decision based on the flawed result.

    --
    If you mod me down, I will become more powerful than you can imagine....
  9. It only gets worse. by The+Earl+of+Sandwich · · Score: 5, Funny

    Try =6*9.

    1. Re:It only gets worse. by $RANDOMLUSER · · Score: 5, Funny

      Try =6*9.
      6 * 9 = 42
      What's your point?
      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    2. Re:It only gets worse. by MostAwesomeDude · · Score: 4, Funny

      So this means that Microsoft is the fundamental flaw in the universe? ...Okay, I'm convinced.

      --
      ~ C.
  10. Vista Sales by xs650 · · Score: 4, Funny

    It's used in the algorithm that MS uses to report Vista sales.

  11. Re:Good Luck! by bockelboy · · Score: 3, Insightful

    If they are using Excel to analyze their data, I don't want to drive over a bridge they are designing...

    None of the math or physics folks I work with would think about using Excel for their data.

  12. Re:obviously malicious by Cassius+Corodes · · Score: 4, Insightful

    Never attribute to malice what can be adequately explained by incompetence.

    --
    Control is an illusion, order our comforting lie. From chaos, through chaos, into chaos we fly
  13. Re:Oh no! by renegadesx · · Score: 5, Funny

    This just in: Florida plans to do use Microsoft Excel to calculate the 08 election results.

    News at 11

    --
    Make SELinux enforcing again!
  14. I can see the OOXML tag now... by mad.frog · · Score: 5, Funny


            =850*77.1
    </MultiplyLikeExcel2007>

    1. Re:I can see the OOXML tag now... by ameline · · Score: 5, Insightful

      That profoundly unfunny post (but insightful) will probably get modded as funny.

      Lets wait and see :-)

      --
      Ian Ameline
    2. Re:I can see the OOXML tag now... by Anonymous Coward · · Score: 5, Funny

      That profoundly uninsightful post (but funny) will probably get modded as insightful.

      Lets wait and see :-)

    3. Re:I can see the OOXML tag now... by fractoid · · Score: 3, Funny

      And your rather funny (but not insightful) post will get modded as... bah, nevermind. :P

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    4. Re:I can see the OOXML tag now... by l0b0 · · Score: 5, Funny

      That ... *Head explodes*

  15. Unnecessary abstraction by mikvo · · Score: 5, Funny

    Multiplication is an unnecessary abstraction anyway. This should really be represented by summing the value of 77.1 entered independently into 850 cells: =sum(a1:a850).

    1. Re:Unnecessary abstraction by Rick+Genter · · Score: 5, Funny

      I'd prefer to put 850 in 77.1 cells and do =sum(a1:a77.1)

      --
      Don't underestimate the power of The Source
  16. Re:Good Luck! by AJWM · · Score: 4, Insightful

    Yeah...cause the chances of having a number evaluate to 65,535 via multiplication is extremely common.

    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?

    --
    -- Alastair
  17. some limited testing by indaba · · Score: 5, Interesting
    original 850 77.1 100000
    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

    1. Re:some limited testing by indaba · · Score: 3, Informative

      =(8500 * 1) * 7.71
      that evaluates to 65535

      but :
      =850*(771/10) evaluates to 100000

  18. Re:Good Luck! by bmo · · Score: 4, Insightful

    "cause the chances of having a number evaluate to 65,535 via multiplication is extremely common."

    "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

  19. Retro by starfishsystems · · Score: 3, Funny

    I always said that Microsoft would never successfully migrate from 16 to 32 bits...

    --
    Parity: What to do when the weekend comes.
  20. Re:obviously malicious by Belacgod · · Score: 5, Insightful

    Sufficiently advanced incompetence is indistinguishable from malice.

  21. Re:Dunno... by Ford+Prefect · · Score: 5, Funny

    My copy of excel 200 on Win2k gave the correct result.

    What, lxvDXXXV?

    (And yes, what have the Romans ever done for us, apart from apparently producing correctly functioning spreadsheet software?)
    --
    Tedious Bloggy Stuff - hooray?
  22. Imperiled by binary decimals? by Protoslo · · Score: 5, Interesting

    It sounds like they are doing small-number math in one representation (perhaps they use short fixed-width decimal representations) and then switching to another method (arbitrary length decimal numbers?) at the binary-inspired boundary 2^16...but somehow they got it mixed up with a different decimal boundary in the edge case.

    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 ;p).

  23. What happened to the beta tests?! by WoTG · · Score: 4, Insightful

    Crazy stuff. I could have sworn that MS had some resources allocated to doing huge beta tests.

    For that matter, they probably assign people to create scripts to randomly create calculations and test the results. However, after reading a bit of the Usenet thread, automated scripts might not have caught the problem, it seems that it is at the rendering layer - using VB to get the cell value apparently gets the correct value.

    Weird. And highly embarrassing.

    I can't wait for the advertisements from OpenOffice (and it's new allies in IBM and Google) to play this up! Apple will have a field day too -- "Hi, I'm a Mac. Sure I'm good at video and music and all that fun stuff, but I can also do math. I know that 65,535 doesn't equal 100,000." -- OK, maybe that wouldn't be TV worthy, but I'll make a good web ad for Slashdot et. al.

  24. This is why OOo Calc can never replace Excel by swillden · · Score: 5, Funny

    This is yet another example of where Calc fails utterly to be compatible with Excel. How can I use Calc if I can't be sure that it will produce the same answers that my boss gets with Excel?

    All those open source developers just don't get it. Geeks that they are, they prize accuracy over consistency and uniformity. The clueless dweebs need to get out of their parents' basements and get a clue about how the REAL WORLD works. Nobody gets promoted for contradicting their boss, duh.

    Nope, until Calc can faithfully reproduce every Excel calculation, it simply won't be ready for use in the real world.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  25. Special powers by overshoot · · Score: 3, Insightful

    Here's a tip. If an application can cause a kernel fault, it's not the application that is broken.
    How many other apps do you know that replace half of the system libraries?

    MSOffice doesn't run on the operating system, it runs the operating system.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
    1. Re:Special powers by OverflowingBitBucket · · Score: 3, Interesting

      How many other apps do you know that replace half of the system libraries?

      Try an install of the Visual Studio .NET family. Can't remember if it messes with system files but it messes around with Office files, even if Office isn't around. You then need to use Office patches to update them. It's insane.

  26. Pay Day! by johkir · · Score: 3, Funny

    Now how can I work this into my salary.......

    --
    These are some of the things molecules do...... given 4 billion years -Carl Sagan
  27. Re:But the important question is.. by Tablizer · · Score: 5, Funny

    Does the built-in flight simulator still work?

    As long as you stay below 65535 feet.

  28. Re:Oh no! by ozmanjusri · · Score: 5, Informative
    This is the most devastating bug in years.

    It could be for Excel users.

    65535 is common in computing because it's the highest number which can be represented by an unsigned 16 bit binary. If Excel is mishandling it somewhere in the background, chances are that failure will show up at multiple points.

    If I had an important Excel 2007 spreadsheet, I'd be loading it up in OOo Calc or an older version of Excel now.

    --
    "I've got more toys than Teruhisa Kitahara."
  29. Re:So? by eggfoolr · · Score: 5, Funny

    Was it not Bill himself who said you would never need more than 64K of memory? Well it's official, you don't need any number greater than 64K either!

    Just remember Micro$oft knows best... move along, nothing to see here.

  30. Re:Check a C multiply on that machine... by The+MAZZTer · · Score: 4, Insightful

    A number of people have verified the bug, and it's quite improbable they ALL have the same model of CPU.

  31. Re:Good Luck! by teh+moges · · Score: 4, Insightful

    I'd say the chances of it only effecting this number are quite high.
    I'm not the only one that recognised this as the 16bit number (see some of the other posts in this thread).
    I'd wager a fair amount of money to say that numbers under 65535 are represented as 16 bit ints but anything over that number is changed on the backend to possibly a 32bit number. This allows faster calculations of smaller numbers (which happen quite a lot) while still allowing higher numbers to be used. The developers created this system, but forgot to test the edge cases (though it can be argued that they don't test any cases before release). If it were to happen to any other number, it would either be at the 8 bit number (though I doubt it) or at the 32/64 bit number they use for the larger values.

  32. Not the only devastating bug by Casandro · · Score: 4, Interesting

    In the german version there is a bug for almoust a decade now.

    If you type in 3.5 you will get "3. Mai". Now if you try to correct yourself by entering 3,5, the correct way to enter decimals in german, you will get "3. Januar". There just is no way for the unexperienced user to get back to normal.
    The bug essentially is that the system allows dates without a year.

  33. The renewal form, hmmm? by NotQuiteReal · · Score: 5, Funny

    And you didn't balk at the 34% increase in rent?

    --
    This issue is a bit more complicated than you think.
  34. Step 2 Found! by OverflowingBitBucket · · Score: 5, Funny

    Well, I'm off to deposit $655.35 less my current balance into my bank account.

  35. Looks like a typo by jorghis · · Score: 4, Interesting

    Surprised noone has pointed this out yet, but this is likely a hardcoded constant being used when excel converts from a 16 bit number to a 32 bit. It should have been "0x10000" but instead was 100000. Speculation sure, but it looks pretty likely, I mean how else would 100000 randomly appear when you did that computation?

    Someone was slacking in the testing department.

    1. Re:Looks like a typo by Firehed · · Score: 4, Informative

      Wouldn't that apply to 65,536, rather than 65,535? 65,535 is 0xFFFF, not 0x10000.

      --
      How are sites slashdotted when nobody reads TFAs?
  36. Re:Wow... by cyphercell · · Score: 5, Insightful

    CAD derivatives are quicker, less precise, like a blaster vs a light saber, only few use light sabers, many use blasters.

    --
    Under the influence of Post-Cyberpunk Gonzo Journalism
  37. Re:Wow... by Kreigaffe · · Score: 5, Funny

    a spot-on analogy involving jedis? you sir win two internets.

    --
    ... still waiting for this free-as-in-beer free beer I keep hearing about. :|
  38. MS Multiplan on Commodore 64 by innocent_white_lamb · · Score: 4, Interesting

    Just for fun I cranked up Microsoft Multiplan 1.06 from 1983 for the Commmodore 64 (using the Vice emulator, and the magic calculation (850*77.1) gives the correct answer of 65535.
     
    I have always been under the impression that Excel was originally based on MS Multiplan (isn't it?) so the code was correct at that time and has become broken at some subsequent point.

    --
    If you're a zombie and you know it, bite your friend!
  39. I have another theory entirely. by Mr+Z · · Score: 5, Informative

    ...except for the minor detail that 65535 is 0xFFFF... :-)

    That said, my 32-bit print routine for a 16-bit CPU actually works by printing two 16 bit numbers, with a slight hack to the 16-bit routine to allow it to print numbers in the range 65536 - 99999 for the lower 5 digits. It does this by dividing the 32-bit number by, you guessed it, 100000. It then prints the quotient and the remainder. It has to do some extra legwork, though, to get the leading zeros right across the two words, and I think it's there that the code went south if they're using a technique similar to mine.

    I'm guessing what happened here is that there's an off-by-1 error in a comparison somewhere (i.e. ">= 65535" instead of "> 65535"), and the 32-bit quotient/remainder print routine kicks in. Since the number is already smaller than 100000, it probably hits a fall-thru case where the quotient is assumed to be 1, and there's no remainder, hence it printing 100000.

    For reference, here's that assembly code I mentioned: prnum32.asm and prnum16.asm

    --Joe
    1. Re:I have another theory entirely. by gogodidi · · Score: 5, Funny

      Unless somebody here works for Microsoft who has access to inside information... I'm sure there are hundreds of you, all those anonymous cowards are probably Microsoft employees in disguise!

      --
      ugh...
    2. Re:I have another theory entirely. by Mr+Z · · Score: 3, Interesting

      As Harlan Grove pointed out in the thread, some functions may be taking the value from the .Text property rather than the .Value property. Most things see the correct value despite it being misdisplayed.

      Why would they do something goofy like that? I have no idea, and I don't have an easy way to check off-hand, at least not in Excel 2007.

    3. Re:I have another theory entirely. by Anonymous Coward · · Score: 5, Funny

      no, I've asked guys around the office; nobody reads slashdot here.

    4. Re:I have another theory entirely. by imdx80 · · Score: 3, Informative

      Debug.Print Application.Cells(1, 1).Text
      Debug.Print Application.Cells(1, 1).Value

      where the formula is in cell A1. You get the correct & incorrect results depending on whether you look at value or text

  40. I've got a theory... by XNormal · · Score: 3, Funny

    It must be bunnies!

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  41. Re:Good Luck! by ross.w · · Score: 4, Insightful

    Rubbish.

    spreadsheets have their place.

    Just about every engineer I know (and yes, IAAE)uses Excel for calculations with no issues at all. Yes they use more specialised (and expensive) tools for things like Finite Element analysis (ie bridges, etc.) and so on, but a lot of everyday stuff gets done on spreadsheets.

    Everything from hydraulic calculations to reinforcing quantities can be done in a spreadsheet.

    However it would be a mistake to rely solely on results produced by any software without using some judgement on the results. Problems come when people get too trusting of software, whether its a spreadsheet or a $20,000 Analysis package.

    Mind you, none of the engineers I know are using Excel 2007 yet, and aren't likely to while this sort of problem is out there.

    --
    If my call is important, why am I talking to a recording?
  42. basic math errors in MS libs? Nothing new.. by 12357bd · · Score: 5, Interesting

    Back in the 386 days, the tan() function returned the wrong sgn if no coprocessor was present. Contacted and confirmed the error they simply ignored such a basic issue, and replied with 'use sin() and cos() functions instead'. Great.

    It seems old habits never die!

    --
    What's in a sig?
  43. Re:Oblig. by Stealth+Potato · · Score: 4, Funny

    The number 65,536 is an awkward figure to everyone except a hacker, who recognizes it more readily than his own mother's date of birth
    Oh god. I never even realized until this very moment that this was true. I feel like a horrible person. ;_;
  44. They DO pay you to find bugs .. by Dr_Barnowl · · Score: 4, Interesting

    ... your payment is a free office suite.

    Bug finding is a valuable contribution to the value of any product. My current testing policy is to find the biggest pain in the ass in my user community - whoever has the largest bug count from the previous release. And give them the first beta. Every bug squashed improves the product for everyone. The cumulative value can't be ignored.

    If you find bugs in any software, it's in your interest to report them, because you obviously want them fixed. If it's a commercial product, you may even be able to get more instant satisfaction. OTOH, for open-source products, I've had an instance where I was able to saunter into an IRC channel, mention a particular bug, and have the lead developer upload a new version to my server within 10 minutes, because he recognised the value of having a technically able user put his product through heavy stress.

    Don't just swear and cuss about bugs in OpenOffice. Report them, send them copies of the files that break it. You might get your bug fixed. For free, in the next version. When did you last get that sort of deal from Microsoft?

  45. Re: Your sig by Dolda2000 · · Score: 5, Funny

    sed 's/readSlashDot\(\)/meetWomen\(\)/g' braindump.txt Oh please! Everyone knows that sed uses old-style regexes, where `\(' and `\)' are subpattern delimiters, not literal parentheses. Furthermore, you'd never need to escape parentheses in the replacement part of the command (unless, of course, you use parentheses as command part delimiters).

    No wonder you can't meet any women!

  46. And yet it works FINE when you GRAPH it... by uptownguy · · Score: 5, Informative

    ....interesting twist...

    I just fired up Excel and created a simple graph:

    One column of numbers was a series from 845-855. The next column was the first column * 77.1. As expected, the series jumped from:

    65149.5, 65226.6, 65303.7, 65457.9, 100000, 65612.1, 65689.2, 65766.3...

    But then when I created a graph to display this, I had a simple straight line -- trying to plot the single data point represented by "100000" also displayed the accurate number. Any other calculations done with this number yielded the right result, too. Taking the value of the cell that displays100000 and multiplying it by 2 results in 131070.

    So all things considered, this really amounts to an Easter Egg. Most spreadsheets will calculate, graph, and function exactly as they should even using the results from a cell that displays inaccurately in that one case...

    --


    I would have to say that explosives are the most abused technology in all of history.
    1. Re:And yet it works FINE when you GRAPH it... by fruity_pebbles · · Score: 4, Informative

      That's true, but if you add 1 to that result you get 65537. And dividing either "1000000" or "100001" by 2 gives the correct results. I can replicate the problem as a display problem, but I can't produce any actual calculation errors.

  47. Re:Oh no! by Slightly+Askew · · Score: 3, Funny
    As a general rule, if you're going to call someone out in public, it's best to check and make sure you're not retarded first.

    I checked, I'm not.

    --
    Public use of any portable music system is a virtually guaranteed indicator of sociopathic tendencies. -- Zoso
  48. Re:Pido libro de reclamaciones por daños. by jandrese · · Score: 5, Funny

    Wow, that was a lot of work to demonstrate that a number ending in a 5 isn't prime.

    --

    I read the internet for the articles.
  49. The reason it was named "Windows 95" by Solandri · · Score: 3, Informative

    For those who don't remember, the reason for the "95" name was likely because Windows "Chicago" kept getting delayed. Eventually Gates announced it was going to be released under the name "Windows 95". Speculation was that the name was chosen to pressure the development team to get it released in 1995 instead of letting it slip to 1996. They released it in late summer 1995, arguably too soon.