程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。
Python NumPy中,可用位操作函数进行位运算,如下。
bitwise_and:对数组元素执行位与运算。bitwise_or:对数组元素执行位或运算。invert:对数组元素执行位非运算。left_shift:向左移动二进制表示的位 。right_shift:向右移动二进制表示的位 。也可以使用 "&"、 "~"、 "|" 和 "^" 等操作符进行计算。
bitwise_and
要对数值进行位与运算,可以使用bitwise_and()函数,如下
bitwise_or
要对数值进行位或运算,可以使用bitwise_or()函数,如下
invert
要对数值进行位非运算,可以使用invert()函数,如下
left_shift
left_shift()函数对数值进行左移位运算,二进制数值向左移位,右边补0,如下
right_shift
right_shift()函数对数值进行右移位运算:二进制数值向右移位,左边补0,如下