BITXOR関数の詳細解説(Excel)

ExcelのBITXOR関数について

BITXOR関数は、2つの数値のビット単位の排他的論理和(XOR)を返すエンジニアリング関数です。つまり、各ビットが異なる場合に1を返し、各ビットが同じ場合は0を返します。

BITXOR関数の定義

BITXOR関数は次のように定義されます:

=BITXOR(数値1, 数値2)

ここで:

  • 数値1および数値2は、ビット単位の排他的論理和を計算するための2つの整数です。数値は、0から(2^48)-1の範囲である必要があります。

BITXOR関数の使用例

例1:

セルA1に5(ビットで表すと101)と入力し、セルB1に3(ビットで表すと011)と入力した場合、以下の式を計算します:

=BITXOR(A1, B1)

この式の結果は、5と3のビット単位の排他的論理和を返します。すなわち、結果は6(ビットで表すと110)となります。

例2:

セルA1に10(ビットで表すと1010)と入力し、セルB1に15(ビットで表すと1111)と入力した場合、以下の式を計算します:

=BITXOR(A1, B1)

この式の結果は、10と15のビット単位の排他的論理和を返します。すなわち、結果は5(ビットで表すと0101)となります。

BITXOR関数は、ビット操作が必要な場面、例えば、ハードウェアの設定値の解析やエンコーディング、エンクリプション等で利用されます。

ビット単位の排他的論理和について

ビット単位の排他的論理和(XOR)は、二つのビット値が異なる場合に1を返し、同じ場合には0を返す論理演算です。XORは「exclusive OR(排他的論理和)」の略で、「排他的」は「一方だけが真の場合に真となる」という意味を持ちます。

ビット単位のXOR演算は、二つのバイナリ数(ビット列)のそれぞれのビット位置ごとにXORを適用します。例えば、以下の二つのバイナリ数に対してXORを適用した場合を考えてみましょう。

ビット列A: 1010 
ビット列B: 1100

これらのビット列に対してXORを適用すると、次のようになります。

結果: 0110

この結果は、それぞれのビット位置でAとBが異なる場合に1を、同じ場合に0を返します。

ビット単位のXOR演算は、情報理論、暗号学、エラー検出と修正コード、コンピュータグラフィックスなど、多くのコンピュータ科学の分野で重要な役割を果たしています。