NumPy の右シフト関数

Beginner

はじめに

この実験では、NumPy ライブラリの right_shift() 関数について学びます。この関数は、配列のようなオブジェクトに対して右シフト演算を行うために使用されます。right_shift() 関数は主に、オペランドのバイナリ表現のビットを指定された位置だけ右にシフトし、左から同じ数の 0 を追加します。数値の内部表現はバイナリ形式です。したがって、右シフト演算は数値を 2^x で割ることと同等です。ここで、x はシフトするビット数です。このドキュメントでは、right_shift() 関数の構文、パラメータ、およびこの関数が返す値について、コードサンプルとともに説明します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして Notebook タブに切り替え、Jupyter Notebook を開いて練習を行ってください。

場合によっては、Jupyter Notebook の読み込みが完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、いつでも Labby に質問してください。セッション終了後にフィードバックを提供していただければ、迅速に問題を解決します。

NumPy ライブラリのインポート

import numpy as np

NumPy は「Numerical Python」の略で、Python のライブラリです。大規模で複雑な配列に対する操作を行うために使用されます。

right_shift() 関数の理解

right_shift() 関数は、配列のようなオブジェクトに対して右シフト演算を行うために使用されます。この関数のパラメータは以下の通りです。

構文

numpy.right_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj])
パラメータ 説明
x1 入力値を表し、配列の形式です。
x2 x1 の右側で削除するビット数を示します。x1.shape!= x2.shape の場合、これらは共通の形状にブロードキャスト可能でなければならず、その形状が出力の形状になります。
out 結果が格納される場所を示します。このパラメータが指定された場合、入力がブロードキャストされる形状を持っていなければなりません。このパラメータが指定されないか、None の場合、新しく割り当てられた配列が返されます。
where 入力に対してブロードキャストされる条件を示します。条件が True の場所では、出力配列に ufunc の結果が設定され、それ以外の場所では出力配列は元の値を保持します。

戻り値

この関数は、x1 のビットを x2 回右にシフトした結果を返します。x1x2 が両方ともスカラーの場合、返される値はスカラーになります。

例 1

スカラーの入力値を使用して、right_shift() 関数の使い方を説明します。

input_num = 40
bit_shift = 2

print("The input number is: ")
print(input_num)
print("The number of bit shift: ")
print(bit_shift)

output = np.right_shift(input_num, bit_shift)
print("After shifting 2 bits to the right: ")
print(output)

出力:

The input number is:
40
The number of bit shift:
2
After shifting 2 bits to the right:
10

例 2

ここでは、right_shift() 関数を入力配列に適用します。

input_arr = [8, 28, 55]
bit_shift = [3, 4, 2]

print("The input array is: ")
print(input_arr)
print("The number of bit shift: ")
print(bit_shift)

output = np.right_shift(input_arr, bit_shift)
print("After shifting bits to the right, the output array is: ")
print(output)

出力:

The input array is:
[8, 28, 55]
The number of bit shift :
[3, 4, 2]
After shifting bits to the right, the output array is:
[ 1 1 13]

まとめ

この実験では、NumPy ライブラリの right_shift() 関数について学びました。この関数は、配列のようなオブジェクトに対して右シフト演算を行うために使用されます。基本的な構文、パラメータ、この関数が返す値について、コードサンプルとともに説明しました。right_shift() 関数は、数値のバイナリ表現を操作するための重要なツールであり、複雑な数値モデルの正確な計算結果を生成する際に特に役立ちます。