Bitwise Operations

MRAB python at mrabarnett.plus.com
Mon Jul 29 21:55:51 EDT 2013


On 30/07/2013 00:34, Devyn Collier Johnson wrote:
>
> On 07/29/2013 05:53 PM, Grant Edwards wrote:
>> On 2013-07-29, Devyn Collier Johnson <devyncjohnson at gmail.com> wrote:
>>
>>> On Python3, how can I perform bitwise operations? For instance, I want
>>> something that will 'and', 'or', and 'xor' a binary integer.
>> http://www.google.com/search?q=python+bitwise+operations
>>
> I understand the symbols. I want to know how to perform the task in a
> script or terminal. I have searched Google, but I never saw a command.
> Typing "101 & 010" or "x = (int(101, 2) & int(010, 2))" only gives errors.
>
In Python 2, an integer with a leading 0, such as 0101, was octal (base
8). This was a feature borrowed from C but often confused newbies
because it looked like decimal ("Why does 0101 == 101 return False?").

In Python 3, octal is indicated by a leading 0o, such as 0o101 (==
1*64+0*8+1==65) and the old style raises an exception so that those who
have switched from Python 2 will get a clear message that something has
changed.

For binary you need a leading 0b and for hexadecimal you need a leading
0x, so doing something similar for octal makes sense.

0b101 == 1*4+0*2+0 == 5
0o101 == 1*64+0*8+1 == 65
0x101 == 1*256+0*16+1 == 257




More information about the Python-list mailing list