What does << represent in python?

python, syntax

Solution

It is the left shift operator for Python. A left shift operation, as the name says, move bits to the left.

Suppose you have 2 whose binary representation is 0010. So ` 2<<2 ` means to shift the bits twice to the left:

0010 -> 0100 -> 1000

1000 is the binary representation for 8. Mathematically, left shifting is the same as multiplying a number by a power of 2 : `a<<b == a*2^b` , but as the operation is done only by shifting, it is much faster than doing multiplications.

Problem

Python says ``` 1 << 16 = 65536 ``` What operation does `<<` performs in Python?

Original source