Ci sono stati una storia nelle notizie su un uomo il cui account Paypal era accidentalmente accreditato con $ 92,233,720,368,547,800.
Da dove viene questo numero? Che tipo di bug di programmazione può generare questo numero?
Ci sono stati una storia nelle notizie su un uomo il cui account Paypal era accidentalmente accreditato con $ 92,233,720,368,547,800.
Da dove viene questo numero? Che tipo di bug di programmazione può generare questo numero?
È il valore massimo di un lungo (tipo integrale firmato a 64 bit).
dal link
The value of this constant is 9,223,372,036,854,775,807; that is, hexadecimal 0x7FFFFFFFFFFFFFFF.
Questo sarebbe il valore massimo per un tipo integrale firmato a 64 bit in qualsiasi lingua, non suppongo che paypal usi .NET, il link a MSDN sopra è solo illustrativo.
L'errore è probabilmente solo un errore di conversione scarso (come da decimale o float o ecc. a lungo che non ha funzionato correttamente) risultante in un eccesso di valore, o un cattivo codice di default per qualche strano scenario, o potrebbe avere è stato un test in produzione da parte del loro team di ingegneria / controllo qualità andato via cavo. Perdita di memoria / errore del puntatore, l'elenco dei modi per causare questo sono davvero innumerevoli. Potrebbe essere stato un errore di parsing che ha deserializzato alcune informazioni che sono arrivate a loro attraverso il cavo, modi tremendamente numerosi di finire accidentalmente con un valore integrale inaspettato o disallineato.