# Bitwise Left Shift (<<) Expression

## Summary

Shift bits to the left by the specified amount.

## Syntax

expression << amount

### Parameters

- expression
- Any valid numeric expression.
- amount
- The amount to shift the bits. The amount can be any valid expression.

## Description

The `<<`

operator computes the value of the expression on the right, and then shifts the bits of the expression on the left by the specified amount. In a bitwise left shift operation, the value to shift is converted to its binary representation. For example, the decimal (base 10) number 0 (zero) may be converted to the binary form 0000 and the number 1 (one) may be converted to 0001. The bitwise left shift operation will move each bit to the left by the specified amount. For example, if we shift the base 10 number 1 (one) to the left by 2 (two), the operation looks like:

1 2 3 | `0001 (1)` `--------` `0100 (4) ` `// 1 << 2` |

In this case, the base 10 number 4 (four) is produced by shifting the base 10 number 1 (one) to the left by two.

Zero bits are added to the right, and excess bits on the left that were shifted off are discarded.

### Differences from JavaScript

Bitwise left shift operations are not limited to 32-bit integers in JS++. ^{Unimplemented} In JavaScript, the bitwise left shift operation is limited to signed 32-bit integers.

## Examples

1 2 3 | `import` `System;` `Console.log(8 << 2); ` `// 32` |

1 2 3 4 | `import` `System;` `Console.log(5 << 1); ` `// 10` `Console.log(10 << 1); ` `// 20` |

## See Also

- Bitwise Left Shift Assignment Operator
- Bitwise Right Shift Operator
- Bitwise Unsigned Right Shift Operator

## Share

HTML | BBCode | Direct Link