Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что это не проблема концептуального программирования в рамках, определенных в справочном центре.
Ответы:
58
Это максимальное значение long (64-битный целочисленный тип со знаком).
Значение этой константы составляет 9 223 372 036 854 775 807; то есть шестнадцатеричный 0x7FFFFFFFFFFFFFFF.
Это было бы максимальным значением для 64-битного целого типа со знаком на любом языке, я не предполагаю, что PayPal использует .NET, ссылка на MSDN выше только иллюстративна.
Ошибка, скорее всего, просто плохая ошибка преобразования (например, от десятичной или с плавающей запятой или т. Д. До long, которая не работает правильно), приводящая к некоторому переполнению значения, или к неправильному значению по умолчанию для какого-то странного сценария, или это могла быть проверка в производство их инженеры / QA команда ушла Hay-Wire. Утечка памяти / ошибка указателя, список способов вызвать это действительно бесчисленное множество. Возможно, это была ошибка синтаксического анализа при десериализации некоторой информации, поступившей к ним по проводам, невероятно многочисленными способами случайного получения неожиданного или смещенного интегрального значения.
еще более странным является то, что число, по-видимому, было округлено до ближайших 100 долларов.
KutuluMike
4
Почему цифры в вопросе и ответе не совпадают?
Четверг
3
Потому что целочисленное значение - это количество копеек. Таким образом, вы делите 2 ^ 63-1 на 100, чтобы получить доллары. А потом что-то округлилось до ближайших 100 долларов по какой-то причине.
Марк Адлер
4
@thursdaysgeek некоторая математика пошла не так, чтобы вызвать целочисленное переполнение, есть вероятность, что в коде возникла неправильная математика, он продолжал вычислять некоторые операции после того, как произошло переполнение, что привело к еще большему изменению суммы. Как если бы уравнение было 2 + 3 * 4 * 8/22 + 400 ^ 2, и на втором шаге происходит переполнение, следующие операции будут продолжать применяться к этому неправильному номеру.
Ответы:
Это максимальное значение long (64-битный целочисленный тип со знаком).
от http://msdn.microsoft.com/en-us/library/system.int64.maxvalue.aspx
Это было бы максимальным значением для 64-битного целого типа со знаком на любом языке, я не предполагаю, что PayPal использует .NET, ссылка на MSDN выше только иллюстративна.
Ошибка, скорее всего, просто плохая ошибка преобразования (например, от десятичной или с плавающей запятой или т. Д. До long, которая не работает правильно), приводящая к некоторому переполнению значения, или к неправильному значению по умолчанию для какого-то странного сценария, или это могла быть проверка в производство их инженеры / QA команда ушла Hay-Wire. Утечка памяти / ошибка указателя, список способов вызвать это действительно бесчисленное множество. Возможно, это была ошибка синтаксического анализа при десериализации некоторой информации, поступившей к ним по проводам, невероятно многочисленными способами случайного получения неожиданного или смещенного интегрального значения.
источник