numpy.bitwise_and
numpy.bitwise_and(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'bitwise_and'>
按元素计算两个数组的按位与。
计算输入数组中整数的基础二进制表示的按位与。 该ufunc实现C/Python运算符&
。
参数 : | x1, x2 :array_like 仅处理整数和布尔类型。 如果 则必须将它们传递为通用形状(即输出的形状)。 out :ndarray, None, 或 ndarray的tuple和 None, 可选 结果存储的位置。 如果提供,它必须具有输入传递的形状。 如果未提供或没有,则返回一个新分配的数组。 元组(只能作为关键字参数)的长度必须等于输出的数量。 where :array_like, 可选 此条件通过输入传递。 在条件为True的位置,将out数组设置为ufunc结果。 在其他地方,out数组将保留其原始值。 请注意, 如果通过默认的 则条件为False的数组中的位置将保持未初始化状态。 **kwargs 有关其他仅关键字的参数,请参见ufunc文档。 |
返回值 : | out :ndarray 或 scalar 结果。 如果x1和x2均为标量,则为标量。 |
例子
数字13由00001101
表示。同样,数字17由00010001
表示。因此13和17的按位与是000000001
或1
:
>>> np.bitwise_and(13, 17)
1
>>> np.bitwise_and(14, 13)
12
>>> np.binary_repr(12)
'1100'
>>> np.bitwise_and([14,3], 13)
array([12, 1])
>>> np.bitwise_and([11,7], [4,25])
array([0, 1])
>>> np.bitwise_and(np.array([2,5,255]), np.array([3,14,16]))
array([ 2, 4, 16])
>>> np.bitwise_and([True, True], [False, True])
array([False, True])