dpnp.bitwise_and

dpnp.bitwise_and(x1, x2, out=None, where=True, order='K', dtype=None, subok=True, **kwargs)

Computes the bitwise AND of the underlying binary representation of each element x1_i of the input array x1 with the respective element x2_i of the input array x2.

For full documentation refer to numpy.bitwise_and.

Parameters:
  • x1 ({dpnp.ndarray, usm_ndarray, scalar}) -- First input array, expected to have integer or boolean data type. Both inputs x1 and x2 can not be scalars at the same time.

  • x2 ({dpnp.ndarray, usm_ndarray, scalar}) -- Second input array, also expected to have integer or boolean data type. Both inputs x1 and x2 can not be scalars at the same time.

  • out ({None, dpnp.ndarray, usm_ndarray}, optional) -- Output array to populate. Array must have the correct shape and the expected data type. Default: None.

  • order ({"C", "F", "A", "K"}, optional) -- Memory layout of the newly output array, if parameter out is None. Default: "K".

Returns:

out -- An array containing the element-wise results. The data type of the returned array is determined by the Type Promotion Rules.

Return type:

dpnp.ndarray

Limitations

Parameters where and subok are supported with their default values. Keyword argument kwargs is currently unsupported. Otherwise NotImplementedError exception will be raised.

See also

dpnp.logical_and

Compute the truth value of x1 AND x2 element-wise.

dpnp.bitwise_or

Compute the bit-wise OR of two arrays element-wise.

dpnp.bitwise_xor

Compute the bit-wise XOR of two arrays element-wise.

dpnp.binary_repr

Return the binary representation of the input number as a string.

Examples

>>> import dpnp as np
>>> x1 = np.array([2, 5, 255])
>>> x2 = np.array([3, 14, 16])
>>> np.bitwise_and(x1, x2)
array([ 2,  4, 16])
>>> a = np.array([True, True])
>>> b = np.array([False, True])
>>> np.bitwise_and(a, b)
array([False,  True])

The & operator can be used as a shorthand for bitwise_and on dpnp.ndarray.

>>> x1 & x2
array([ 2,  4, 16])

The number 13 is represented by 00001101. Likewise, 17 is represented by 00010001. The bit-wise AND of 13 and 17 is therefore 000000001, or 1:

>>> np.bitwise_and(np.array(13), 17)
array(1)
>>> np.bitwise_and(np.array(14), 13)
array(12)
>>> np.binary_repr(12)
'1100'
>>> np.bitwise_and(np.array([14, 3]), 13)
array([12,  1])