JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのビット単位XOR演算子(^)とは?仕組みと使い方をわかりやすく解説

ビット単位XOR演算子(^)とは

JavaScriptのビット単位XOR(排他的論理和)演算子「^」は、整数の引数の各ビットに対してブール値の排他的論理和演算を実行します。排他的論理和とは、2つのオペランドのどちらか一方だけが真である場合に真(1)となり、両方が真、または両方が偽の場合は偽(0)になる論理演算です。

ビットごとの演算結果

XOR演算では、対応する各ビットを比較し、ビットの値が異なる場合に「1」、同じ場合に「0」を返します。

ビットAビットBA ^ B の結果
000
011
101
110

使用例

以下のコードを実行して、ビット単位XOR演算子の動作を確認してみましょう。変数aには2(2進数で「10」)、変数bには3(2進数で「11」)を代入し、XOR演算の結果を画面に表示します。

<html>
   <body>
      <script>
         <!--
         var a = 2;  // 2進数表現: 10
         var b = 3;  // 2進数表現: 11
         document.write("(a ^ b) => ");
         result = (a ^ b);
         document.write(result);
      </script>
   </body>
</html>

実行結果

(a ^ b) => 1

結果の解説

2は2進数で「10」、3は2進数で「11」と表現されます。XOR演算では、各ビットを右から順に比較し、ビットの値が異なる場合に「1」を返します。

  • 1桁目:0 ^ 1 → 1
  • 2桁目:1 ^ 1 → 0

そのため、演算結果は2進数で「01」、つまり10進数の「1」となります。このようにXOR演算子は、対応するビットが一致しない場合にのみ1を返すというシンプルなルールで動作します。

  1. JavaScriptのビット単位XOR(^)演算子とは?仕組みと使い方を解説

    JavaScriptのビット単位XOR(^)演算子は、2つの数値をビットごとに比較し、対応するビットが異なる場合に1を、同じ場合に0を返す演算子です。「排他的論理和」とも呼ばれます。XOR演算のルールXOR演算子は、各ビットを以下のルールで評価します。0 ^ 0 = 01 ^ 0 = 10 ^ 1 = 11 ^ 1 = 0使用例次のコードを実行して、JavaScriptのビット単位XOR演算子の動作を確認してみましょう。<!DOCTYPE html> <html>    <body>       <sc

  2. C++のビット単位XOR(排他的論理和)とは?仕組みと使い方を解説

    ビット単位の排他的論理和(XOR)演算子「^」は、第1オペランドの各ビットと、第2オペランドの対応するビットを1つずつ比較する演算子です。比較した2つのビットが異なる値(片方が0でもう片方が1)であれば、結果の該当ビットは「1」にセットされます。逆に、両方のビットが同じ値(どちらも0、またはどちらも1)であれば、結果の該当ビットは「0」にセットされます。この演算子を使う際は、両方のオペランドが整数型(int型、unsigned short型など)である必要がある点に注意してください。浮動小数点型の値には適用できません。XORの真理値表ビットごとの演算結果は、次の真理値表のようにまとめられます。