jax.numpy.right_shift#
- jax.numpy.right_shift(x1, x2, /)[原始碼]#
將
x1
的位元向右移位x2
指定的量。numpy.right_shift
的 JAX 實作。- 參數:
x1 (ArrayLike) – 輸入陣列,僅接受無符號整數子型別
x2 (ArrayLike) – 將
x1
中每個元素向右移位的位元量,僅接受整數子型別
- 回傳:
一個類陣列物件,包含
x1
依x2
指定量向右移位的元素,形狀與x1
和x2
廣播後的形狀相同。- 回傳型別:
注意
如果
x1.shape != x2.shape
,它們必須相容才能廣播到共享形狀,此共享形狀也將是輸出的形狀。將純量 x1 向右移位純量 x2 等同於x1 // 2**x2
。範例
>>> def print_binary(x): ... return [bin(int(val)) for val in x]
>>> x1 = jnp.array([1, 2, 4, 8]) >>> print_binary(x1) ['0b1', '0b10', '0b100', '0b1000'] >>> x2 = 1 >>> result = jnp.right_shift(x1, x2) >>> result Array([0, 1, 2, 4], dtype=int32) >>> print_binary(result) ['0b0', '0b1', '0b10', '0b100']
>>> x1 = 16 >>> print_binary([x1]) ['0b10000'] >>> x2 = jnp.array([1, 2, 3, 4]) >>> result = jnp.right_shift(x1, x2) >>> result Array([8, 4, 2, 1], dtype=int32) >>> print_binary(result) ['0b1000', '0b100', '0b10', '0b1']