我正在使用 python,我试图找到非常大的数字的幂,但是发生的一些有趣的事情是,这会引发数学溢出
math.pow(1000, 1000)
但是下面这个似乎有效,虽然我不知道返回的值是否正确
1000**1000
任何人都知道为什么会发生这种情况
我正在使用 python,我试图找到非常大的数字的幂,但是发生的一些有趣的事情是,这会引发数学溢出
math.pow(1000, 1000)
但是下面这个似乎有效,虽然我不知道返回的值是否正确
1000**1000
任何人都知道为什么会发生这种情况
简单,该math.pow()
方法使用 C 浮点库,而**
幂运算符使用整数数学。
这两种方法有不同的局限性。Pythonint
大小仅受操作系统允许 Python 拥有多少内存的限制,浮点数受计算机架构的限制,请参阅sys.float_info.max
.
与内置
**
运算符不同,math.pow()
将其两个参数都转换为 typefloat
。使用**
或 内置pow()
函数来计算精确的整数幂。