Итак, у меня проблема, когда я пытаюсь разделить 20-значное число.
мой код:
result = 61519713751187780547/3
print(result)
print(int(result))
выход:
2.0506571250395927e+19
20506571250395926528
ожидаемый результат 61519713751187780547/3:
20506571250395926849
#calculated using full precision calculator at https://www.mathsisfun.com/calculator-precision.html
Я очень смущен тем, что не так, или я сделал что-то не так. Разница между выходом и ожидаемым выходом составляет целых 300+. Число делится на 3, поэтому оно должно давать целочисленный результат. Но каким-то образом python дает результат с плавающей запятой.
Любая помощь будет оценена. Заранее спасибо!
В Python 3 /
— деление с плавающей запятой, а //
— целочисленное деление.
61519713751187780547//3
Out[3]: 20506571250395926849