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

JavaScriptのビット左シフト演算子(<<)とは?仕組みと使い方を解説

ビット左シフト演算子(<<)とは

JavaScriptのビット左シフト演算子(<<)は、数値を2進数で表したときの各ビットを、指定した桁数だけ左へ移動させる演算子です。シフトによって右側に空いたビットには、1つ以上の「0」が埋められます。一方、左端からあふれたビットは破棄されます。

たとえば「7 << 1」は、7(2進数で 00000000000000000000000000000111)の各ビットを1桁左にずらすため、結果は 00000000000000000000000000001110、つまり10進数の「14」になります。

このように、左シフトは「元の数値 × 2のシフト桁数乗」と同じ結果を返します。7を1桁左にシフトすると 7 × 2 = 14 となるわけです。2桁シフトすれば4倍、3桁シフトすれば8倍になるため、掛け算の高速化などにも活用されます。

サンプルコード

以下のコードを実行すると、JavaScriptのビット左シフト演算子の動作を実際に確認できます。

<!DOCTYPE html>
<html>
   <body>
      <script>
         document.write("Bitwise Left Shift Operator<br>");

         // 7 = 00000000000000000000000000000111
         document.write(7<<1);
      </script>
   </body>
</html>

実行結果

Bitwise Left Shift Operator
14

この例では、7のビットを1桁左にシフトしているため、出力結果は「14」と表示されます。シフトする桁数を変更すれば、2倍・4倍・8倍といった計算結果を簡単に得られます。

  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. JavaScriptのビット演算子入門|NOT(~)・左シフト(<<)・右シフト(>>)をわかりやすく解説

    JavaScriptのビット否定演算子(Bitwise NOT:~) チルダ記号(~)を使うビット否定演算子は、数値を32ビットの2進数として扱い、すべてのビットを反転させる演算です。「0」は「1」に、「1」は「0」に変わります。JavaScriptでは ~x の結果は必ず -(x + 1) と等しくなるという特徴があります。 コード例 <html> <body> <p id=not></p> <script> document.getElementById(not).innerHTML = ~ 13; </script