Il y a eu une histoire dans les nouvelles d'un homme dont le compte Paypal a été accidentellement crédité de 92.233.720.368.547.800 $.
D'où vient ce numéro? Quel type de bogue de programmation est susceptible de donner lieu à ce numéro?
Il y a eu une histoire dans les nouvelles d'un homme dont le compte Paypal a été accidentellement crédité de 92.233.720.368.547.800 $.
D'où vient ce numéro? Quel type de bogue de programmation est susceptible de donner lieu à ce numéro?
Réponses:
C'est la valeur maximale d'un long (type intégral signé 64 bits).
à partir de http://msdn.microsoft.com/en-us/library/system.int64.maxvalue.aspx
La valeur de cette constante est 9.223.372.036.854.775.807; c'est-à-dire, hexadécimal 0x7FFFFFFFFFFFFFFFFF.
Ce serait la valeur maximale pour un type intégral signé de 64 bits dans n'importe quelle langue, je ne suppose pas que paypal utilise .NET, le lien vers MSDN ci-dessus est simplement illustratif.
Il s’agit probablement d’une erreur de conversion médiocre (décimale, flottante, etc., qui ne fonctionne pas correctement) qui entraîne un débordement d’une valeur ou un code défectueux pour un scénario étrange, ou cela aurait pu être un test. en production par leur équipe d’ingénierie / d’assurance-qualité passée à l’ombre Fuite de mémoire / erreur de pointeur, la liste des moyens de le provoquer est vraiment innombrable. Cela aurait pu être une erreur d’analyse syntaxique en désérialisant certaines informations qui leur sont parvenues de bout en bout, énormément de façons de se retrouver accidentellement avec une valeur intégrale inattendue ou mal alignée.