3 ms·
A friend of mine did a presentation about this. What he told me is that apparently, the developpers who wrote and tested the code that overflowed were designin
by david_p 14y ago
A friend of mine did a presentation about this.
What he told me is that apparently, the developpers who wrote and tested the code that overflowed were designing for a value in miles.
When stored in miles, the value would never got outside the range of a 16 bit unsigned int, but the actual value used was in kilometers, and when converted to kilometers, the value would overflow.
- marco-fiset 14y agoIf a simple multiplication by 1.60934 (miles to kilometers) can create an overflow, than you are not using a big enough data type. I can't believe that's the real reason.
- david_p 14y agoApparently I mixed up the story with Mars Climate Orbiter ... More details about the Ariane 5 failure here: http://people.cs.clemson.edu/~steve/Spiro/arianesiam.htm http://people.cs.clemson.edu/~steve/Spiro/arianesiam.htm
- Tloewald 14y agoThis seems unlikely for a European/French system. Are you perhaps confusing this story with the NASA Mars Observer mission, mentioned elsewhere in the thread, which failed because of a metric vs imperial error? The value was horizontal velocity. I imagine in metric it would be expressed in m/s while in imperial it's going to be feet per second (mph seems highly improbable).
- ctdonath 14y agoThe Mars Climate Orbiter mixed up feet with meters. Seems it calculated how far off the surface it was during landing, and when it decided it was at 0 units above the surface the retro-rockets were shut off as intended. Except that it was, in fact, still a few miles up. Code re-use struck again.