В новостях была история о человеке, чей счет Paypal был случайно зачислен на сумму 92 233 720 368 547 800 долларов США.
Откуда этот номер? Какая программная ошибка может привести к этому числу?
В новостях была история о человеке, чей счет Paypal был случайно зачислен на сумму 92 233 720 368 547 800 долларов США.
Откуда этот номер? Какая программная ошибка может привести к этому числу?
Ответы:
Это максимальное значение long (64-битный целочисленный тип со знаком).
от http://msdn.microsoft.com/en-us/library/system.int64.maxvalue.aspx
Значение этой константы составляет 9 223 372 036 854 775 807; то есть шестнадцатеричный 0x7FFFFFFFFFFFFFFF.
Это было бы максимальным значением для 64-битного целого типа со знаком на любом языке, я не предполагаю, что PayPal использует .NET, ссылка на MSDN выше только иллюстративна.
Ошибка, скорее всего, просто плохая ошибка преобразования (например, от десятичной или с плавающей запятой или т. Д. До long, которая не работает правильно), приводящая к некоторому переполнению значения, или к неправильному значению по умолчанию для какого-то странного сценария, или это могла быть проверка в производство их инженеры / QA команда ушла Hay-Wire. Утечка памяти / ошибка указателя, список способов вызвать это действительно бесчисленное множество. Возможно, это была ошибка синтаксического анализа при десериализации некоторой информации, поступившей к ним по проводам, невероятно многочисленными способами случайного получения неожиданного или смещенного интегрального значения.