ここでは、Microsoft Excel の BITXOR 関数の構文および使用法について説明します。
説明
2 つの数値のビット単位の 'XOR' を返します。
書式
BITXOR(数値 1, 数値 2)
BITXOR 関数の書式には、次の引数があります。
-
数値 1 必ず指定します。 必ず指定します。 0 以上を入力する必要があります。
-
数値 2 必ず指定します。 必ず指定します。 0 以上を入力する必要があります。
解説
-
BITXOR は、そのパラメーターのビット単位の 'XOR' (排他的 XOR) の合計の結果である 10 進数を返します。
-
いずれかの引数がその制約の範囲外の場合は、エラー値 #NUM! が返されます。
-
いずれかの引数が (2^48)-1 より大きい場合は、エラー値 #NUM! が返されます。
-
いずれかの引数が数値以外の値の場合は、エラー値 #VALUE! が返されます。
-
実行結果では、両パラメーターの同じビット位置の値が等しくない場合、つまり一方が 0 でもう一方が 1 の場合、そのビット位置は 1 になります。 たとえば、BITXOR(5,3) を使用する場合、5 は 2 進法では 101 で表され、3 は 2 進法では 11 で表されます。 比較しやすいように、3 を 011 と見なすことができます。 この例を右から左へ見た場合、3 つの位置のうち値が同じ (1) なのは右端の位置だけです。 右から 2 番目と 3 番目の位置は結果が '等しくない' になるため 1 を返し、右端の位置は結果が ‘等しい’ になるため 0 を返します。
-
ビット位置から返される 1 の値は、右から左に 2 のべき乗で増加します。 右端のビットは 1 (2^0) を返し、その左のビットは 2 (2^1) を返します。これ以降も同様です。
-
同じ例を使用した場合、右端のビット位置は値が 0 であるため、0 を返します。右から 2 番目のビット位置 (値 1) は 2 (2^1) を返し、左端のビット (同じく値 1) は 4 (2^2) を返します。 合計は 10 進表現で 6 になります。
使用例
次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
数式 |
説明 |
結果 |
メカニズム |
=BITXOR(5,3) |
ビット位置ごとのビット単位の "排他的論理和" 比較の合計値を返します。 |
6 |
数値 5 は 2 進数では 101 であり、3 は 11 です。 両方の数値が 3 桁になるように、11 を 011 と表現できます。 ビット単位の "排他的論理和" 比較は、各位置の両方の数値が等しくないかをチェックし、true の場合はその位置の正の値を返します。 |
テスト: どの位置で数値が異なりますか? |
|||
5 は 2 進法では 101 |
|||
3 は 2 進法では 011 |
|||
yyn |
|||
(1*(2^2))+(1*(2^1))+(1*0) |
|||
4+2+0 |
|||
6 |