ビット演算ツールの詳細

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

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

ビット演算 AND、OR、XOR

  • ビット演算 AND では、両方の入力値が 1 の場合、1 を出力されます。いずれか一方または両方の入力値が 0 の場合、0 が出力されます。
  • ビット演算 OR では、一方または両方の入力値が 1 の場合、そのビットは 1 として出力されます。両方の入力ビットが 0 の場合、0 が出力されます。
  • ビット演算 XOR では、一方の入力値が 1、もう一方が 0 の場合、1 が出力されます。両方とも 1 または両方とも 0 の場合、そのビットは 0 が出力されます。

                  Decimal         Binary  
                  value           value   
                  -------         --------
Input 1                 5    >    00000101
Input 2                 3    >    00000011

                                     V   

Bitwise And             1    <    00000011

Bitwise Or              7    <    00000111

Bitwise XOr             6    <    00000110

ビット演算 NOT

ビット演算 NOT では、入力されたバイナリ値の補数を求めます。

つまり、各入力ビットが 1 の場合、出力は 0 になります。各入力ビットが 0 の場合、出力は 1 になります。

                  Decimal         Binary  
                  value           value   
                  -------         --------
Input 1                 5    >    00000101

                                     V    

Bitwise Not            -6    <    11111010

ビット演算左シフトと右シフト

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

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

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

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

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

                  Decimal         Binary  
                  value           value   
                  -------         --------
Input 1                 5    >    00000101
Input 2                 1    >    00000001

                                     V    

Bitwise Left Shift     10    <    00001010

Bitwise Right Shift     2    <    00000010

注意注意:

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

関連項目


7/10/2012