ビット演算ツールの詳細

Spatial Analyst のライセンスで利用可能。

Image Analyst ライセンスで利用できます。

ビット演算ツールは、バイナリで表された入力値をセル単位で評価します。バイナリ表記の各ビットについて、ブール演算が実行されます。

この後のセクションでは、各種ビット演算ツールについてを具体的に説明します。例で使用されている矢印は、入力値をバイナリ表記 (base2) に変換し、解析した後、再び 10 進値 (base10) に変換する処理フローを示しています。

ビット演算ツールのロジック

Bitwise And, Or and XOr

  • [Bitwise And] では、各ビットで両方の入力値が 1 であれば、出力値も 1 になります。片方または両方のビットが 0 の場合には、そのビットの出力値も 0 になります。
  • [Bitwise Or] では、各ビットで片方または両方の入力値が 1 であれば、出力値も 1 になります。両方のビットが 0 の場合には、そのビットの出力値も 0 になります。
  • [Bitwise XOr] では、各ビットで片方の入力値が 1、もう片方の入力値が 0 であれば、出力値は 1 になります。両方のビットが 1 または 0 の場合には、そのビットの出力値も 0 になります。

Bitwise And、Or、および XOr の例
Bitwise And、Or、および XOr の例

Bitwise Not

[Bitwise Not] では、入力されたバイナリ値の補数を求めます。

このため、各入力ビットが 1 であれば、出力値は 0 になります。入力ビットが 0 であれば、出力値は 1 になります。

Bitwise Not の例
Bitwise Not の例

Bitwise Left Shift と Bitwise Right Shift

次の例では、矢印が示すように、まず 2 つの入力値をバイナリ表記に変換しています。次に、バイナリ変換した値を表す各ビットのペアにビット演算を実行し、最後に 10 進表記へ戻しています。

  • [Bitwise Left Shift] では、2 番目の入力で指定されたビット位置だけ、各ビットの値を左へシフトします。その際、左端ビットに割り当てられている値は失われます。

    1 ビット位置だけ左へシフトすると、2 を乗算した場合と同じ結果が得られます。

  • [Bitwise Right Shift] では、2 番目の入力で指定されたビット位置だけ、各ビットの値を右へシフトします。その際、右端ビットに割り当てられている値は失われます。

    1 ビット位置だけ右へシフトすると、2 を除算して余りを切り捨てた場合と同じ結果が得られます。

Bitwise Left と Right Shift の例
Bitwise Left と Right Shift の例

NoData の処理

入力セルのいずれかの値が NoData の場合、出力値は NoData になります。

関連トピック