我正在使用python,我正在努力寻找真正大数字的能力,但有趣的是,这会引发数学溢出
math.pow(1000, 1000)
但是下面的内容似乎有效但我不知道返回的值是否正确
1000**1000
任何人都知道为什么会发生这种情况
答案 0 :(得分:8)
简单,math.pow()
方法使用C float库,而**
幂运算符使用整数数学。
这两种方法有不同的局限性。 Python int
大小仅受操作系统允许Python拥有多少内存的限制,浮点数受计算机体系结构限制,请参阅sys.float_info.max
。
答案 1 :(得分:7)
与内置
**
运算符不同,math.pow()
将其参数转换为float
类型。使用**
或内置pow()
函数计算精确的整数幂。