gpt4 book ai didi

python - 来自 math.log(python 3) 的错误答案

转载 作者:太空狗 更新时间:2023-10-30 02:36:15 26 4
gpt4 key购买 nike

今天,我使用 math.log() 函数以给定的底数 17 计算 4913 的对数。答案是 3,但是当我运行下面的代码时,我得到 2.9999999999999996。

1) 是不是因为math.log(x, b)的计算是log(x)/log(b)

2)有什么办法可以得到正确答案3?

import math
print(math.log(4913,17))

最佳答案

你可以使用 gmpy2图书馆:

import gmpy2

print(gmpy2.iroot(4913, 3))
# (mpz(17), True)

print(gmpy2.iroot(4913 + 1, 3))
# (mpz(17), False)

它告诉您结果以及结果是否准确。

也可以看看 Log precision in pythonIs floating point math broken? .

关于python - 来自 math.log(python 3) 的错误答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55222435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com