Plain and long integer types support additional operations that make sense only for bit strings. Negative numbers are treated as their 2’s complement value (for long integers, this assumes a sufficiently large number of bits so that no overflow occurs during the operation).
The priorities of the binary bitwise operations are all lower than
the numeric operations and higher than the comparisons; the unary
operation ~
has the same priority as the other
unary numeric operations (+
and

).
The following table lists the bitstring operations sorted in ascending priority (operations in the same box have the same priority).
Operation 
Result 
Notes 

Bitwise or of  

Bitwise exclusive or of  

Bitwise and of  


1, 2 


1, 3 

The bits of 
Negative shift counts are illegal and cause a
ValueError
to be raised.
A left shift by n
bits is equivalent to
multiplication by pow(2,
n)
without overflow check.
A right shift by n
bits is equivalent to division
by pow(2,
n)
without overflow
check.
No credit card required