我正在使用 python,我正在尝试寻找非常大的数的幂,但发生的一些有趣的事情是这会引发数学溢出
math.pow(1000, 1000)
虽然我不知道返回的值是否正确,但下面这个似乎有效
1000**1000
有人知道为什么会这样吗
最佳答案
很简单,math.pow()
方法使用 C 浮点库,而 **
幂运算符使用整数数学。
这两种方法有不同的限制。 Python int
大小仅受操作系统允许 Python 拥有多少内存的限制, float 受计算机体系结构的限制,请参阅 sys.float_info.max
.
关于python - 为什么这些代码段之一工作而另一个抛出溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15976893/