jax.numpy.right_shift

jax.numpy.right_shift(x1, x2)[source]

Shift the bits of an integer to the right.

LAX-backend implementation of right_shift(). Original docstring below.

right_shift(x1, x2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, subok=True[, signature, extobj])

Bits are shifted to the right x2. Because the internal representation of numbers is in binary format, this operation is equivalent to dividing x1 by 2**x2.

Parameters
  • x1 (array_like, int) – Input values.

  • x2 (array_like, int) – Number of bits to remove at the right of x1. If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output).

Returns

out – Return x1 with bits shifted x2 times to the right. This is a scalar if both x1 and x2 are scalars.

Return type

ndarray, int

See also

left_shift()

Shift the bits of an integer to the left.

binary_repr()

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

Examples

>>> np.binary_repr(10)
'1010'
>>> np.right_shift(10, 1)
5
>>> np.binary_repr(5)
'101'
>>> np.right_shift(10, [1,2,3])
array([5, 2, 1])