Numpy のビット単位の AND 関数

Beginner

はじめに

NumPy は、Python で数値演算を行うために使用する人気のある科学計算ライブラリです。NumPy モジュールを使って数学的演算を行うのに役立つ多数の数学関数があります。この実験では、NumPy ライブラリの「bitwise_and」バイナリ演算について説明します。

VM のヒント

VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。

時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、演算の検証は自動化できません。

学習中に問題があった場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

Numpy モジュールのインポート

NumPy ライブラリを使用するには、インポートする必要があります。以下に示すコードスニペットでは、NumPy モジュールをインポートしています。

import numpy as np

ビット単位の AND 演算の理解

bitwise_and()関数は、入力配列の整数の基礎となる 2 進表現のビット単位の ANDを計算します。ビット単位の AND 演算の真理表は以下の通りです。

A B A & B
0 0 0
0 1 0
1 0 0
1 1 1

任意の入力に対してビット単位の AND 演算を行う際には、これらの値を覚えておく必要があります。

bitwise_and() の構文

以下はbitwise_and()の構文です。

numpy.bitwise_and(x1, x2, /, out, *, where=True, casting='same_kind', order='K', dtype,subok=True[, signature, extobj]) = <ufunc 'bitwise_and'>

パラメータ

  • x1, x2:これら 2 つは入力配列で、この関数では整数型とブール型のみが処理されます。x1.shape!= x2.shapeの場合、それらは共通の形状にブロードキャスト可能でなければなりません(この形状が出力の形状になります)。
  • out:このパラメータは主に結果が格納される場所を示します。このパラメータが提供された場合、その形状は入力がブロードキャストされる形状でなければなりません。このパラメータが提供されないか、またはNoneの場合、新たに割り当てられた配列が返されます。
  • where:このパラメータは入力にブロードキャストされる条件を示すために使用されます。条件がTrueの場所では、out配列はビット単位の AND 結果に設定され、それ以外の場合、out配列は元の値を保持します。
  • dtype:オプション引数は出力のデータ型を設定するために使用されます。

スカラーに対してビット単位の AND 演算を行う

以下の例では、2 つのスカラー値に対してビット単位の AND 演算を行うためのbitwise_and()関数の使用方法を示します。

num1 = 15
num2 = 20

print("The Input  number1 is :", num1)
print("The Input  number2 is :", num2)

output = np.bitwise_and(num1, num2)
print("The bitwise_and of 15 and 20 is: ", output)

上記のコードの出力は以下の通りです。

The Input  number1 is : 15
The Input  number2 is : 20
The bitwise_and of 15 and 20 is: 4

配列に対してビット単位の AND 演算を行う

以下の例では、2 つの配列にbitwise_and()関数を適用します。

ar1 = [2, 8, 135]
ar2 = [3, 5, 115]

print("The Input array1 is : ", ar1)
print("The Input array2 is : ", ar2)

output_arr = np.bitwise_and(ar1, ar2)
print("The Output array after bitwise_and: ", output_arr)

上記のコードの出力は以下の通りです。

The Input array1 is : [2, 8, 135]
The Input array2 is : [3, 5, 115]
The Output array after bitwise_and: [2 0 3]

まとめ

この実験では、NumPy ライブラリのbitwise_and()関数を使って、2 つの値または配列に対してビット単位の AND 演算を行いました。また、関数の構文とパラメータについて、いくつかの例を交えて学びました。

まとめ

おめでとうございます!あなたは Numpy のビット単位の AND 関数の実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習することができます。