It was initially reported by various news outlets that PayPal had accidentally credited $92 quadrillion to a man’s PayPal account. However, in reality, this isn’t what actually happened. What actually happened, as described on the site DaiyFinance.com, was that PayPal accidentally debited the man’s account (according to his account’s statement) by approx. $92 quadrillion.
According to the article at Philly.com, Chris Reynolds, aged 56 from Delaware, opened his monthly statement and saw that his ending balance was, according to the site, “$92,233,720,368,547,800”. The site quotes Reynolds as saying, “I’m just feeling like a million bucks” (after thinking he had $92 quadrillion!), he said “At first I thought that I owed quadrillions. It was quite a big surprise.”
In fact, when Chris Reynolds stated, “At first I thought that I owed quadrillions”, that was actually what his monthly statement was showing. For as shown on Daily Finance.com, which confirms that he would in fact have been in debt, as well as on the Sun site, which despite showing the negative balance, still reports it erroneously as a credit, there was a minus sign in front of the $92 quadrillion figure. Obviously, the minus sign shows that it was a debit of $92 quadrillion and not a credit.
So as his balance showed an approximate $92 quadrillion debt rather than credit, if that really was his actual balance, he wouldn’t have been the world’s richest man, but instead would have been the world’s most heavily indebted man.
Where did the $92 quadrillion figure come from?
Obviously PayPal made the debit of approximately $92 quadrillion in error, but why this figure, and not a totally different figure? No news site seems to have reported on the significance of this $92 quadrillion value.
The $92 quadrillion figure is due to how computers store numeric values. For example, if we look at the data types available in SQL (as stated on the site, “SQL is a standard language for accessing and manipulating databases”), it shows that the BIGINT integer type allows values from -9223372036854775808 to 9223372036854775807.
If we look at the C++ computer programming language, it shows that _I64_MIN is -9223372036854775808, which is a definition of the lowest number that can be stored in a signed 64 bit integer on a computer, which is calculated as 0-(2^63). Note that one of the bits is used to store the sign (ie. whether the number is positive or negative).
We can see that the figure shown on the statement (-92233720368547800.00), minus the lowest value it is possible to store in a signed 64 bit integer (-92233720368547758.08 – if the figure, in cents, is stored as a whole number in a 64 bit integer type), is a difference of only -41.92. Of course this doesn’t tell exactly how this value came to be debited from this man’s account, and PayPal hasn’t given the reason for the error, but it could have been due to an uninitialised or corrupted variable (such as it’s value being overwritten by something else in memory), or similar programming error.
So what can be learned from this is that all computer software, including updates, should be fully tested before going live. Values should be validated and checks added to prevent such errors. After all, no one wants to be debited 92 quadrillion dollars!