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