javascript シフト演算子を使って2の累乗計算を行う

javascript シフト演算子を使って2の累乗計算を行う

javascriptで、シフト演算子を使用して、2の累乗計算を行うサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 103.0.5060.134

シフト演算子使い方

シフト演算子は、以下のように「2累乗」として利用することが可能です。

// 1 ✖ 2の1乗
console.log(1 << 1); // 2

// 1 ✖ 2の2乗
console.log(1 << 2); // 4

// 1 ✖ 2の3乗
console.log(1 << 3); // 8

「マイナス」を指定すると「マイナス」になります。

// -1 ✖ 2の1乗
console.log(-1 << 1); // -2

// -1 ✖ 2の2乗
console.log(-1 << 2); // -4

// -1 ✖ 2の3乗
console.log(-1 << 3); // -8

左辺に「1」ではなく任意の値を設定すると、そのまま掛け算した結果となります。

// 3 ✖ 2の1乗
console.log(3 << 1); // 6

// 3 ✖ 2の2乗
console.log(3 << 2); // 12

// 3 ✖ 2の3乗
console.log(3 << 3); // 24

右シフト

右シフトにすると、割り算になり逆になります。

// 8 ÷ 2の1乗
console.log(8 >> 1); // 4

// 8 ÷ 2の2乗
console.log(8 >> 2); // 2

// 8 ÷ 2の3乗
console.log(8 >> 3); // 1