Bit-string Operations -- Python library reference



Prev: Numeric Types Up: Numeric Types Top: Top

2.1.4.1. Bit-string Operations on Integer Types

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 that no overflow occurs during the operation).

The priorities of the binary bit-wise 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 `-').

This table lists the bit-string operations sorted in ascending priority (operations in the same box have the same priority):

Operation
Result --- Notes

x | y
bitwise or of x and y
x ^ y
bitwise exclusive or of x and y
x & y
bitwise and of x and y
x << n
x shifted left by n bits --- (1), (2)
x >> n
x shifted right by n bits --- (1), (3) @hline@hline
~x
the bits of x inverted
Notes:
(1)
Negative shift counts are illegal.
(2)
A left shift by n bits is equivalent to multiplication by pow(2, n) without overflow check.
(3)
A right shift by n bits is equivalent to division by pow(2, n) without overflow check.


Prev: Numeric Types Up: Numeric Types Top: Top