Я получаю ошибку переполнения, когда я пытаюсь выполнить этот расчет, но я не могу понять, почему.
1-math.exp(-4*1000000*-0.0641515994108)
Ответ 1
Число, которое вы запрашиваете для вычисления math.exp, имеет в десятичной форме более 110 000 цифр. Это немного вне диапазона двойника, поэтому он вызывает переполнение.
Ответ 2
Чтобы исправить это, используйте:
try:
ans = math.exp(200000)
except OverflowError:
ans = float('inf')
Ответ 3
Я думаю, что значение становится слишком большим, чтобы вписываться в double в python, поэтому вы получаете OverflowError. Самое большое значение, которое я могу вычислить exp на моей машине в Python, просто немного больше, чем 709.78271.