Bitwise Left Shift Assignment (<<=) Expression Summary Shift bits to the left by the specified amount and assign the value back to a variable. Syntax variable <<= amount Parameters variable The variable, property, or array element to update. amount The amount to shift the bits. The amount can be any valid expression. Description For numeric variables, the <<= operator computes the value of the expression on the right, and then shifts the bits of the variable, property, or array element value on the left by the specified amount. The expression on the right is the amount to shift the bits and is evaluated first. The shifted amount is assigned back to the variable on the left. The <<= operator is equivalent to the << operator with the left-hand side being the variable, property, or array element to modify and the right-hand side being the amount to shift the bits. Therefore, the following expressions are equivalent: 12x <<= 5; // Equivalent to x = x << 5x = x << 5; // Equivalent to x <<= 5 How Bitwise Left Shift Operations Work 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: 1230001 (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 Basic Usage 123456import System; int x = 8;Console.log(x); // 8x <<= 1;Console.log(x); // 16 Multiplication by 2 using Bitwise Left Shifts 12345678import System; int x = 5;Console.log(x); // 5x <<= 1;Console.log(x); // 10x <<= 1;Console.log(x); // 20 See Also Bitwise Left Shift Operator Bitwise Right Shift Assignment Operator Bitwise Unsigned Right Shift Assignment Operator Share HTML | BBCode | Direct Link