Python 为什么这些代码段中的一个可以工作,而另一个会引发溢出

Python 为什么这些代码段中的一个可以工作,而另一个会引发溢出,python,exponential,Python,Exponential,我正在使用python,我试图找到真正大数的幂,但有趣的是,这会引发数学溢出 math.pow(1000, 1000) 虽然我不知道返回的值是否正确,但下面的方法似乎有效 1000**1000 有人知道为什么会这样吗 与内置的**运算符不同,math.pow()将其两个参数都转换为类型float。使用**或内置的pow()函数计算精确的整数幂 很简单,math.pow()方法使用C浮点库,而**幂运算符使用整数数学 这两种方法有不同的局限性。Pythonint大小仅受操作系统允许Python

我正在使用python,我试图找到真正大数的幂,但有趣的是,这会引发数学溢出

math.pow(1000, 1000)
虽然我不知道返回的值是否正确,但下面的方法似乎有效

1000**1000
有人知道为什么会这样吗

与内置的
**
运算符不同,
math.pow()
将其两个参数都转换为类型
float
。使用
**
或内置的
pow()
函数计算精确的整数幂

很简单,
math.pow()
方法使用C浮点库,而
**
幂运算符使用整数数学


这两种方法有不同的局限性。Python
int
大小仅受操作系统允许Python拥有的内存量的限制,浮点数受计算机体系结构的限制,请参阅。

因为Python非常棒;)关于极限的任何想法,我们不能假设返回的值对其中任何一个都是正确的吗?另外,因为math.pow返回浮点结果,1000^1000将不适合not floatanyhow@cobie整数数学总是正确的。浮点数学在舍入误差之前或在达到sys.float\u info.max的最大值之前都是正确的。