【发布时间】:2017-09-18 17:33:31
【问题描述】:
当使用numpy.power(2,N) 时,N 是一个整数,我遇到以下问题:
In[1] np.power(2,63)
Out[1] -9223372036854775808
RuntimeWarning: invalid value encountered in power
更奇怪的是,
In[2] np.power(2,63)*2
Out[2] 0
所有大于或等于 63 的指数都会发生这种情况。我认为大整数在 Python 中不是问题 - 那么这里有什么问题?
【问题讨论】:
-
这里不是在处理 Python 整数,而是在处理具有固定大小(在本例中为 64 位)的 NumPy 整数,这是 NumPy 快速矢量化数学运算的先决条件提供。如果你想使用 Python 整数,请写
2**63或pow(2, 63)。
标签: python python-3.x numpy integer pow