我试图找到表达式的确切数字。我无法找到它。以下是我尝试过的代码段。
>>> math.pow(400.0,math.pow(400.0,400.0))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: math range error
当我尝试使用numpy时,我感觉像是:
>>> np.power(400.0,np.power(400.0,400.0))
>>> inf
但我无法得到确切的数字。任何人都可以帮我解决这个问题。这对我来说是一个很大的帮助。
先谢谢。
答案 0 :(得分:4)
您尝试计算的数字有1.735057357739408×10^1041
个十进制数字(来自wolframalpha)。你肯定无法得到它的确切表示。 inf
尽可能接近你。
答案 1 :(得分:0)
无法使用分配的大小来精确表示数字以存储整数。使用sys.maxint
查看你的最大int,也有长,在62bit的盒子上你可以看到如下
>>> import sys
>>> sys.maxint
9223372036854775807
>>> type(2**63)
<type 'long'>
>>> type(2**62)
<type 'int'>
>>> sys.maxint - (2**63 - 1) == 0
True
答案 2 :(得分:-2)
您可以在此处获得确切的数字:http://www.wolframalpha.com/input/?i=400^%28400^400%29