gpt4 book ai didi

python - pow() 提升为 float

转载 作者:太空狗 更新时间:2023-10-30 00:41:02 25 4
gpt4 key购买 nike

为什么以 float 表示的整数与以整数形式计算相同的数字会产生不同的结果?

例如:

>>> pow(10,25)%195
10L
>>> pow(10,25.0)%195
64.0

我试过使用 mpmath's power()相反,但得到与第二种形式完全相同的数字和错误。

如何在 Python 中计算非常大的非整数幂并对它们执行模运算(例如,使用纯数学执行类似 RSA 的逻辑所采取的步骤)?

最佳答案

对于整数,您可以使用 pow 的 3 参数形式:

pow(10, 25, 195)

这里的问题源于 float 的精度损失。您需要在此处使用 decimal.Decimal:

>>> from decimal import Decimal
>>> pow(10, Decimal('25.0')) % 195
Decimal('10')

关于python - pow() 提升为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18934698/

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