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 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 bit-string 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 |
Notes
Negative shift counts are illegal and cause a
ValueErrorto be raised.A left shift by
nbits is equivalent to multiplication bypow(2,n)without overflow check.A right shift by
nbits is equivalent to division bypow(2,n)without overflow check.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access