3
3.1
3.2
3.3
3.4
3.5
3.6
3.7 Bitwise Shift Operators
3.7.1 Left Shift: <<
The left shift operator <<
shifts the bits of the value of the left operand to the left by the number of places given by the right operand. The vacated positions are filled with 0s, and bits moved past the end of the left operand are lost. In the following example, then, each bit is moved two places to the left:
(10001010) << 2 // expression
(00101000) // resulting value
This operation produces a new bit value, but it doesn’t change its operands. For example, suppose stonk
is 1. Then stonk<<2
is 4, but stonk is still 1. You can use the left-shift assignment operator ( <<=) to actually change a variable’s value. This operator shifts the bit in the variable to its left by the number of places given by the right-hand value. Here’s an example:
int stonk = 1;
int onkoo;
onkoo = stonk << 2; /* assigns 4 to onkoo */
stonk <<= 2; /* changes stonk to 4 */
待补充 713