from mpmath import mp
mp.dps = 50 # Set the desired precision (adjust as needed)
x=100000000000000000000000000000000000000000000000000000000000000000
y=100000000000000000000000000000000000000000000000000000000000000000
result = mp.exp(y * mp.log1p(-1/mp.mpf(x)))
print(result)
#output
Result:0.36787944117144232159552377016146086744581113103177
1条答案
按热度按时间n8ghc7c11#
肯定会有精度问题,特别是对于非常大的x和y。(y * math.log1p(-1/x))* 这将为接近零的值计算更高的精度。或者,考虑到误差范围,在不知道x和y的特定范围的情况下提供一般范围是具有挑战性的。然而,您可以考虑使用提供专门为高精度设计的函数的数值库,例如Python中的mpmath库。mpmath允许您以任意精度执行算术:
字符串