Yurttas/PL/SL/python/docs/core-python-programming/doc/20/lib/bitstring-ops.html

Revision as of 19:41, 7 November 2013 by MassBot1 (talk | contribs) (Created page with "<div class="navigation"> {| width="100%" cellspacing="2" align="center" | yurttas/PL/SL/python/docs/core-python-programming/doc/20/lib/typesnumeric.html|[[Image:yurttas...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


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.