Info Node: (python2.1-lib.info)Bit-string Operations
(python2.1-lib.info)Bit-string Operations
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 (1), (2)
bits
X >> N X shifted right by N (1), (3)
bits
~X the bits of X inverted
Notes:
`(1)'
Negative shift counts are illegal and cause a `ValueError' to be
raised.
`(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.