Python: Почему число меняется с int в типе float? - PullRequest
0 голосов
/ 15 апреля 2019

Как я знаю, python может работать с произвольно большими числами типа int.Но как только n> 512, я получаю ошибку.Заранее спасибо

n = int(512)
num = int((4 ** n) / 4)

print(int(num))

как мне грустно, это работает.Но когда n> 512, я получаю это, когда я запускаю программу, почему ?:

Traceback (most recent call last):
  File "_", line 10, in <module>
    num = int((4 ** n) / 4)
OverflowError: integer division result too large for a float

Process finished with exit code 1

1 Ответ

2 голосов
/ 15 апреля 2019

Поскольку вы используете оператор с плавающим делением, используйте вместо него целое число //:

>>> num = int((4 ** 512) // 4)
>>> num
44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...