Yurttas/PL/SL/python/docs/core-python-programming/doc/20/lib/bitstring-ops.html
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) | |||
~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.
See About this document... for information on suggesting changes.