Info Node: (python2.1-ref.info)Shifting operations
(python2.1-ref.info)Shifting operations
Shifting operations
===================
The shifting operations have lower priority than the arithmetic
operations:
shift_expr: a_expr | shift_expr ( "<<" | ">>" ) a_expr
These operators accept plain or long integers as arguments. The
arguments are converted to a common type. They shift the first
argument to the left or right by the number of bits given by the second
argument.
A right shift by N bits is defined as division by `pow(2,N)'. A left
shift by N bits is defined as multiplication with `pow(2,N)'; for plain
integers there is no overflow check so in that case the operation drops
bits and flips the sign if the result is not less than `pow(2,31)' in
absolute value. Negative shift counts raise a `ValueError' exception.