--- title: 左シフト (<<) slug: Web/JavaScript/Reference/Operators/Left_shift tags: - Bitwise operator - JavaScript - Language feature - Operator - Reference - ビット演算子 - 演算子 - 言語機能 translation_of: Web/JavaScript/Reference/Operators/Left_shift ---
左シフト演算子 (<<
)は、1つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0のビットが右からずれて入ります。
a << b
この演算子は、1つ目のオペランドを指定されたビット数だけ左にずらします。左にずらしてあふれたビットは廃棄されます。0のビットが右からずれて入ります。
例えば 9 << 2
は 36 になります。
. 9 (10進数): 00000000000000000000000000001001 (2進数) -------------------------------- 9 << 2 (10進数): 00000000000000000000000000100100 (2進数) = 36 (10進数)
任意の数 x
を y
ビット分だけ左にビット単位にずらすと、 x * 2 ** y
になります。
ですから、例えば 9 << 3
は 9 * (2 ** 3) = 9 * (8) = 72
になります。
9 << 3; // 72 // 9 * (2 ** 3) = 9 * (8) = 72
仕様書 |
---|
{{SpecName('ESDraft', '#sec-bitwise-shift-operators', 'Bitwise Shift Operators')}} |
{{Compat("javascript.operators.left_shift")}}