O'Reilly logo

Python Programming On Win32 by Mark Hammond, Andy Robinson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

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.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required