web-dev-qa-db-ja.com

Paypalの92233720368547800番号はどこから来たのですか?

ニュースのストーリー Paypalアカウントに誤って$ 92,233,720,368,547,800が入金された男性についての話があります。

この数字はどこから来たのですか?この数は、どのようなプログラミングバグが原因となる可能性がありますか?

36
shamp00

これはlong(64ビットの符号付き整数型)の最大値です。

from http://msdn.Microsoft.com/en-us/library/system.int64.maxvalue.aspx

この定数の値は、9,223,372,036,854,775,807です。つまり、16進数の0x7FFFFFFFFFFFFFFFです。

これは、どの言語でも64ビットの符号付き整数型の最大値になります。Paypalが.NETを使用するとは想定していません。上記のMSDNへのリンクは単なる例です。

エラーはおそらく、不十分な変換エラー(10進数や浮動小数点などから、正しく機能しないlongへのエラーなど)であり、値がオーバーフローしたり、奇妙なシナリオのデフォルトコードが不適切だったり、テストであった可能性があります。彼らのエンジニアリング/ QAチームによる生産で干ばつになりました。メモリリーク/ポインタエラー、これを引き起こす方法のリストは本当に無数です。ワイヤーを介してそれらに到達したいくつかの情報を逆シリアル化する解析エラーである可能性があり、予期せずまたは誤って調整された整数値で誤って終了する非常に多くの方法があります。

58
Jimmy Hoffa