当我尝试进行这个计算时,出现了溢出错误。output=math.exp(1391.12694245)*100 我知道这是因为使用的数字“超出了double类型的范围”导致的。 但是否有解决方法来获取输出值? 有人可以帮忙吗?
使用NumPy的额外精度浮点数:import numpy as np np.exp(np.array([1391.12694245],dtype=np.float128))*100 # array([ 1.4413011e+606], dtype=float128)
from decimal import Decimal; Decimal(1391.12694245).exp()*100
。 - TessellatingHecklerfloat
范围已经足够了,使用扩展精度通常都不是正确的解决方案 - 可能只需要重新构思你的计算以避免溢出问题。 - Mark Dickinson