位运算

函数 说明
bitwise_and 对数组元素执行位与操作
bitwise_or 对数组元素执行位或操作
invert 按位取反
left_shift 向左移动二进制表示的位
right_shift 向右移动二进制表示的位

bitwise_and()

print(f'13 和 17 的二进制形式:{bin(13)},{bin(17)}')  # 输出结果: 13 和 17 的二进制形式:0b1101,0b10001
print(f'13 和 17 的位与:{np.bitwise_and(13,17)}')  # 输出结果: 13 和 17 的位与:1

bitwise_or()

print(f'13 和 17 的二进制形式:{bin(13)},{bin(17)}')  # 输出结果: 13 和 17 的二进制形式:0b1101,0b10001
print(f'13 和 17 的位或:{np.bitwise_or(13,17)}')  # 输出结果: 13 和 17 的位或:29

invert()

num_np = np.invert(np.array([13], dtype = np.uint8))
print(f'13按位取反:{num_np}')  # 输出结果: 13按位取反:[242]

print(f'13的二进制表示:{np.binary_repr(13,width = 8)}')  # 输出结果: 13的二进制表示:00001101
print(f'242的二进制表示:{np.binary_repr(242,width = 8)}')  # 输出结果: 242的二进制表示:11110010

left_shift()

print(f'将5左移2位:{np.left_shift(5,2)}')  # 输出结果: 将5左移2位:20
print(f'5的二进制表示:{np.binary_repr(5,width = 8)}')  # 输出结果: 5的二进制表示:00000101
print(f'5的二进制表示:{np.binary_repr(20,width = 8)}')  # 输出结果: 20的二进制表示:00010100

right_shift()

print(f'将100右移2位:{np.right_shift(100,2)}')  # 输出结果: 将100右移2位:25
print(f'100的二进制表示:{np.binary_repr(100,width = 8)}')  # 输出结果: 100的二进制表示:01100100
print(f'25的二进制表示:{np.binary_repr(25,width = 8)}')  # 输出结果: 25的二进制表示:00011001