当我试图用Python计算一个非常大的数字时,我得到了一个错误。这是我的代码:
# Where fourthNumber = 2790
# and dee = 413
emm = math.pow(fourthNumber, dee)
我的错误是:
line 44, in <module>
emm = math.pow(fourthNumber, dee)
OverflowError: math range error
有办法避免这个错误吗?我以为Python可以处理任意大的数字?还是我错了?如有任何帮助,我们将不胜感激。谢谢!
Tags:
问题是
math.pow(..)
对浮点数起作用。在Python中,浮点数不是任意大的。只有int
s是(在python-3.x中,而long
s在python-2.x中)。但是,如果这两个数字是整数,则可以使用
**
运算符,该运算符可以进行整数幂运算(当然,参数是整数):但是,如果将其转换为
float
,则会得到:所以这个错误清楚地表明python不能像
float
s那样处理这个大数字内置的
pow
使用整数运算:您可以处理任意大的整数数;
math.pow
浮点数操作。2790**413>;1000**413=1e+1239,远远高于大约1e+308的浮点范围。
使用
**
停留在整数域内,并获取您的大整数。相关问题 更多 >
编程相关推荐