左シフト (<<)

左シフト演算子 (<<)は、1つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0のビットが右からずれて入ります。

構文

a << b

解説

この演算子は、1つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0のビットが右からずれて入ります。

例えば 9 << 2 は 36 になります。

.    9 (10進数): 00000000000000000000000000001001 (2進数)
                  --------------------------------
9 << 2 (10進数): 00000000000000000000000000100100 (2進数) = 36 (10進数)

任意の数 xy ビット分だけ左にビット単位にずらすと、 x * 2 ** y になります。
ですから、例えば 9 << 39 * (2 ** 3) = 9 * (8) = 72 になります。

左シフトの使用

9 << 3; // 72

// 9 * (2 ** 3) = 9 * (8) = 72

仕様書

ブラウザーの互換性

BCD tables only load in the browser

関連情報