Software Glitch Leads To $23,148,855,308,184,500 Visa Charges
Hmmm2000 writes "Recently several Visa card holders were, um, overcharged for certain purchases, to the tune of $23,148,855,308,184,500.00 on a single charge. The company says it was due to a programming error, and that the problem has been corrected. What is interesting is that the amount charged actually reveals the type of programming error that caused the problem. 23,148,855,308,184,500.00 * 100 (I'm guessing this is how the number is actually stored) is 2314885530818450000. Convert 2314885530818450000 to hexadecimal, and you end up with 20 20 20 20 20 20 12 50. Most C/C++ programmers see the error now ... hex 20 is a space. So spaces were stuffed into a field where binary zero should have been."
This is another reason why the C and C++ languages should be reserved for a few, high profile uses such as making compilers. These languages should not be used for any general purpose language other than ones like C and C++ that allow you to royally shoot yourself in the foot with bad pointer arithmetic. What a doozy of an error all thanks to the "freedom" given the developer in the language. Surely, C and C++ are among the most powerful options available--but only for select applications. Do you drive a Formula One race car through Midtown Manhattan? I don't think so. You restrict them to racetracks. Thus too with C & C++.