maxframe.tensor.bitwise_xor#

maxframe.tensor.bitwise_xor(x1, x2, out=None, where=None, **kwargs)#

逐元素计算两个数组的按位异或。

计算输入数组中整数的二进制表示的按位异或。此 ufunc 实现了 C/Python 运算符 ^

参数:
  • x1 (array_like) -- 仅处理整数和布尔类型。

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

  • out (Tensor, None, or tuple of Tensor and None, optional) -- 存储结果的位置。如果提供,其形状必须可以广播到输入形状。如果未提供或为 None,则返回一个新分配的 tensor。元组(只能作为关键字参数)的长度必须等于输出的数量。

  • where (array_like, optional) -- 值为 True 表示在该位置计算 ufunc,值为 False 表示保留输出中的值不变。

  • **kwargs

返回:

out -- 结果。

返回类型:

array_like

参见

logical_xor, bitwise_and, bitwise_or

binary_repr

以字符串形式返回输入数字的二进制表示。

示例

数字 13 的二进制表示为 00001101。同样,17 的二进制表示为 00010001。因此,13 和 17 的按位异或为 00011100,即 28:

>>> import maxframe.tensor as mt
>>> mt.bitwise_xor(13, 17).execute()
28
>>> mt.bitwise_xor(31, 5).execute()
26
>>> mt.bitwise_xor([31,3], 5).execute()
array([26,  6])
>>> mt.bitwise_xor([31,3], [5,6]).execute()
array([26,  5])
>>> mt.bitwise_xor([True, True], [False, True]).execute()
array([ True, False])