http://www.theregister.co.uk/2007/09/26/excel_2007_bug/
"It was working, honest guv, but we've since improved it."
http://www.theregister.co.uk/2007/09/26/excel_2007_bug/
"It was working, honest guv, but we've since improved it."
If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
If at first you don't succeed, try writing your phone number on the exam paper.
In the linked MSDN blog post, commenters are falling over each other complaining about IEEE floating point inaccuracies. It's rather funny to watch.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law
It's only six numbers out of almost 10^19 that don't work. Good enough, I say.
Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling
Least they didn't xray anyone to death.
And the bug doesn't affect any formulas; it's just the display. Sure, it's a bug, but a fairly benign one. I just can't imagine how such a bug could pop up unless the display code is unnaturally convoluted.
If I did your homework for you, then you might pass your class without learning how to write a program like this. Then you might graduate and get your degree without learning how to write a program like this. You might become a professional programmer without knowing how to write a program like this. Someday you might work on a project with me without knowing how to write a program like this. Then I would have to do you serious bodily harm. - Jack Klein
Which I wouldn't at all put past them. But I'm very puzzled, too.
All the buzzt!
CornedBee
"There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
- Flon's Law
yeah that seems like a very odd bug to come up unless the person who programmed the code was drunk....I mean....how hard is it to say:
Rather...they want to say:Code:product = a * b; output = product;
Code:product= a * b; if ( product== 65535 ) output = 100000; ....etc....
Last edited by DavidP; 09-28-2007 at 07:12 PM.
The bug has to do with conversion from binary to decimal for printing. If the binary result ends up being very, very close to 65535, but smaller, the conversion will fail. Maybe it has to do with lots of carried 1s?
Last edited by Sang-drax : Tomorrow at 02:21 AM. Reason: Time travelling