& (bitwise and)

説明

C++ のビットごとの AND 演算子です。
2 つの整数式の間にも使用 &を使用してANDを取ります。
ビットごとの AND は、周囲の式の各ビット位置を、次のルールに従って独立して操作します入力ビットが両方とも 1 の場合、結果の出力は 1、そうでない場合は 0 です。

Arduinoではint型は16ビットの値なので、2つのint型の式の間に&を使うと、16回のAND演算が同時に行われます。

コード例

コードフラグメントでは

aとbの16ビットがそれぞれビットワイズANDで処理され、結果の16ビットすべてがcに格納され、2進法では01000100、10進法では68という値になります。

ビットごとのANDの最も一般的な使用法の一つは、整数値から特定のビット(または複数のビット)を選択することで、しばしばマスキングと呼ばれます。以下に例を示します(AVRアーキテクチャ固有)。

タイトルとURLをコピーしました