📜  NumPy按位运算符(1)

📅  最后修改于: 2023-12-03 15:18:03.927000             🧑  作者: Mango

NumPy按位运算符

NumPy提供了多种按位运算符,包括位与(&),位或(|),位异或(^)和位取反(~)。

位与(&)

位与运算符将两个数组中对应元素的按位与运算的结果作为新数组返回。比如:

import numpy as np

a = np.array([1, 2, 3, 4], dtype=np.uint8)
b = np.array([1, 3, 2, 4], dtype=np.uint8)

print(np.bitwise_and(a, b))

输出为:

[1 2 2 4]

这里,a和b中的每个元素都被看作是8位二进制数,对应位进行按位与运算得到结果。

位或(|)

位或运算符将两个数组中对应元素的按位或运算的结果作为新数组返回。比如:

import numpy as np

a = np.array([1, 2, 3, 4], dtype=np.uint8)
b = np.array([1, 3, 2, 4], dtype=np.uint8)

print(np.bitwise_or(a, b))

输出为:

[1 3 3 4]

这里,a和b中的每个元素都被看作是8位二进制数,对应位进行按位或运算得到结果。

位异或(^)

位异或运算符将两个数组中对应元素的按位异或运算的结果作为新数组返回。比如:

import numpy as np

a = np.array([1, 2, 3, 4], dtype=np.uint8)
b = np.array([1, 3, 2, 4], dtype=np.uint8)

print(np.bitwise_xor(a, b))

输出为:

[0 1 1 0]

这里,a和b中的每个元素都被看作是8位二进制数,对应位进行按位异或运算得到结果。

位取反(~)

位取反运算符将数组中每个元素的按位取反的结果作为新数组返回。比如:

import numpy as np

a = np.array([1, 2, 3, 4], dtype=np.uint8)

print(np.invert(a))

输出为:

[254 253 252 251]

这里,a中的每个元素都被看作是8位二进制数,进行按位取反运算得到结果。

结论

使用NumPy的按位运算符可以方便地对数组中的元素进行按位运算,有利于实现各种编程任务。