mars.tensor.bitwise_and#

mars.tensor.bitwise_and(x1, x2, out=None, where=None, **kwargs)#

逐元素计算两个张量的按位与。

计算输入数组中整数的底层二进制表示的按位与。该ufunc实现了C/Python运算符 &

Parameters
  • x1 (array_like) – 仅处理整数和布尔类型。

  • x2 (array_like) – 仅处理整数和布尔类型。

  • out (Tensor, None, 或 tupleTensor 和 None, 可选) – 结果存储的位置。如果提供,它必须具有和输入相同的广播形状。如果未提供或None,将返回一个新分配的张量。元组(仅作为关键字参数可能)必须具有与输出数量相等的长度。

  • where (array_like, 可选) – 值为 True 表示在该位置计算 ufunc,值为 False 表示保持输出中的该值不变。

  • **kwargs

Returns

out – 结果。

Return type

类数组对象

示例

数字 13 用 00001101 表示。同样,17 用 00010001 表示。因此,13 和 17 的位与运算结果是 000000001,即 1:

>>> import mars.tensor as mt
>>> mt.bitwise_and(13, 17).execute()
1
>>> mt.bitwise_and(14, 13).execute()
12
>>> mt.bitwise_and([14,3], 13).execute()
array([12,  1])
>>> mt.bitwise_and([11,7], [4,25]).execute()
array([0, 1])
>>> mt.bitwise_and(mt.array([2,5,255]), mt.array([3,14,16])).execute()
array([ 2,  4, 16])
>>> mt.bitwise_and([True, True], [False, True]).execute()
array([False,  True])