Da dove viene il numero 92233720368547800 di paypal? [chiuso]

36

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?

    
posta shamp00 19.07.2013 - 19:46
fonte

1 risposta

58

È 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.

    
risposta data 19.07.2013 - 19:49
fonte

Leggi altre domande sui tag