Я делаю некоторые вычисления с большими целыми числами в Python, и я получаю некоторые странные результаты.Ошибка деления больших целых чисел в python
>>> 94970389L * 94958913L/775920493L
11622692L
>>> 94970389L * 94958913L
9018284906627157L
>>> 775920493L * 11622692L
9018284906627156L
Почему существует разница между четвертой и шестой строкой? Он должен быть равным.
Я использую Python версии 2.7.3 на Linux PC 32bits
Ошибка округления. Вы можете легко сказать, что результаты должны быть разными, потому что первый набор заканчивается на 9 и 3 соответственно, так что вы знаете, что первый продукт закончится с 7. Меньшезначные цифры второго набора - это 3 и 2, так что вы знаете вторую продукт закончится на 6. Таким образом, вы знаете, что ответы, вероятно, правильные. – Gabe
FYI, вам не нужно набирать Ls. – DSM