JavaScriptのビット単位OR演算子(|)とは?基本と使い方を解説
JavaScriptのビット単位OR演算子(|)は、2つの整数値の各ビットに対して論理OR(ブールOR)演算を行う演算子です。比較する2つのビットのうち、どちらか一方でも「1」であれば、結果のそのビットは「1」になります。両方が「0」の場合のみ、「0」となります。
例
次のコードを実行すると、ビット単位OR演算子(|)の実際の動作を確認できます。
<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) => 3
処理の流れ
変数 a = 2 は2進数で「10」、変数 b = 3 は「11」と表現されます。これらの各ビットをOR演算すると、次のように計算されます。
- 1桁目:0 と 1 の OR → 1
- 2桁目:1 と 1 の OR → 1
したがって、結果は2進数で「11」、つまり10進数の「3」となります。
-
JavaScriptのビット単位の右シフト(>>)演算子とは?仕組みと使い方を解説
JavaScriptのビット演算子「>>」(右シフト演算子)は、数値を2進数のビット列として扱い、指定した桁数だけビットを右へずらすための演算子です。シフトによって右端からあふれたビットは切り捨てられ、その部分は考慮されません。ビット単位の右シフト(>>)の仕組み「a >> b」と記述すると、a のビット列が b 桁分だけ右に移動します。このとき、最も右側のビットから順に失われていきます。また、負の数の場合は符号を維持するために、左側には1が補われます(符号伝播シフトと呼ばれます)。右に1ビットシフトすることは、概ね「2で割る」ことと同じ意味を持ちます。例え
-
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