Ответ 1
Нет ограничений, если вы работаете с целыми числами и Python 3.x. Однако точность, которую вы получаете с использованием чисел с плавающей запятой, ограничена. Python float
(например, 3.14
) на самом деле является C double
, который, как вы говорите, имеет около 16 десятичных чисел точности.
Вы можете использовать модуль decimal
для создания и работы с другими числами с плавающей запятой с произвольной точностью. Пример кода:
# Normal Python floats
a = 0.000000000000000000001
b = 1 + 2*a
print(b) # Prints 1.0
# Using Decimal
import decimal
decimal.getcontext().prec = 100 # Set the precision
a = decimal.Decimal('0.000000000000000000001')
b = 1 + 2*a
print(b) # Prints 1.000000000000000000002
Подробнее о decimal
см. .