考虑数组
a = np.array([64, 8, 16, 24, 32, 40, 48, 56, 64])
它的第一个和最后一个元素是相同的
a[0] == a[-1]
# True
现在让我们左移a
b = 1<<a
并比较第一个和最后一个元素
b[0] == b[-1]
# False
这到底是怎么回事?
任何人都可以重现这一点吗?这是一个错误吗?
实际值为
b
# array([ 0, 256, 65536,
# 16777216, 4294967296, 1099511627776,
# 281474976710656, 72057594037927936, 1])
numpy
版本是 1.17.0 在Python
3.6.5
期望值
任一值都有其逻辑:0 = 1 * 2^64 mod 2^64 和 1 = 1 * 2^(64 mod 64(
相关
https://github.com/numpy/numpy/issues/10299
对我来说,它显示的是真的: 蟒蛇 3.7.4 数字 1.17.x
import numpy
a = numpy.array([10,20,15,10])
a[0]==a[-1]
True
b = 1<<a
b[0] == b[-1]
True