【Excel】BITXOR関数-2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める-
約~分
(約文字)
2020-01-07
【Excel】BITXOR関数-2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める-
BITXOR関数とは
エクセルの「BITXOR関数(ビット・エクスクルーシブ・オア)」は2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を返す関数です。
まず結論
BITXOR関数を使うと、2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求めることができます。まずは数値1、数値2の意味を押さえ、使用例と注意点を確認すると実務で使い分けやすくなります。
- このページで分かること
- BITXOR関数でできることと基本の使いどころ
- 構文と引数の意味
- BITXOR関数の使用例
引数に指定された2つの値のビット単位の排他的な論理和を10進数で返します。
構文と引数
- 365
- 2019
- 2016
- 2013
=BITOR(数値1, 数値2)
| 引数 | 必要性 | 内容 |
|---|---|---|
| 数値1 | 必須 | 小数点の表示形式になっている必要があります。0以上の数値を指定します。 |
| 数値2 | 必須 | 小数点の表示形式になっている必要があります。0以上の数値を指定します。 |
BITXOR関数の解説
出典:Microsoft - Office サポート
- ・いずれかの引数が制約外の場合は、エラー値#NUM!が返されます。
- ・いずれかの引数が (2^48)-1 より大きい場合は、エラー値#NUM!が返されます。
- ・いずれかの引数が数値以外の値の場合は、エラー値#VALUE!が返されます。
- ・実行結果では、両引数の同じビット位置の値が等しくない場合、つまり一方が0でもう一方が1の場合、そのビット位置は1になります。 たとえば、BITXOR(5,3) の場合、5は2進法では101で表され、3は2進法では011で表されます。 3つの位置のうち値が同じなのは左から3番目(一番右端)だけです。左から1番目、2番目の位置は結果が等しくないため1を返し、3番目の位置は結果が等しいので0を返します。
- ・ビット位置から返される1の値は、右から左に2のべき乗で増加します。右端のビットは1(2の0乗)を返し、その左のビットは2(2の1乗)を返します。以降も同様です。
- ・同じ例を使用した場合、1番目のビット(値1)は4(2の2乗)を返します。2番目のビット(値1)は2(2の1乗)を返します。3番目のビットは0を返します。4+2+0となり10進表現で6になります。
BITXOR関数の使用例
=BITXOR(5,3)
=6
メカニズム
各位置の両方の数値を比較し、等しい場合は0を、等しくない場合は1を返します。
この場合、5の2進数は”101”で、3の2進数は”011”です。比較結果は”110”となり、10進数の「6」が返されます。
関連する関数
- BITAND関数2つの数値のビット単位の論理積(AND)を求める
- BITOR関数2つの数値のビット単位の論理和(OR)を求める
- BITXOR関数2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求める
よくある質問
Q. BITXOR関数は何をするときに使いますか?
BITXOR関数は、2つの数値のビット単位の排他的論理和(EXCLUSIVE OR)を求めるときに使います。 とくに BITAND関数 など近い関数との違いを合わせて押さえると、使い分けしやすくなります。
Q. BITXOR関数がうまく動かないときは何を確認すればよいですか?
まず 数値1、数値2 の指定方法を見直し、基数や単位、複素数の表記、引数の範囲 を確認してください。
よくある失敗例・エラー対処
BITXOR関数で期待通りの結果にならないときは、次の点を確認してください。
- 数値1、数値2 の指定が関数の仕様どおりか確認する
- 複素数は Excel の書式どおりに入力されているか確認する
- 引数が許容範囲を超えていないか確認する
まとめ
このページでは、BITXOR関数について以下を確認しました。
- ・BITXOR関数でできることと基本の使いどころ
- ・構文と引数の意味
- ・BITXOR関数の使用例