Python中的位运算操作

首先是基础的,位或(|)、位与(&)、位反(~)。

然后一些比较常用的操作,有一篇很好地Wiki,请参考:

http://wiki.python.org/moin/BitManipulation

下面照抄4个最重要的

1、二进制字符串 -> 整形:

a = int("11111111", 2)
print a

后面的2表示二进制!

2、整形 -> 二进制字符串:

Python3和Python 2.6之后有内置函数bin,而2.x(x<6)中需要自己写如下函数:

def bin(s):
    return str(s) if s<=1 else bin(s>>1) + str(s&1)

3、将某一位置为1:

def setBit(int_type, offset):
    mask = 1 << offset
    return(int_type | mask)

4、将某一位清除为0:

def clearBit(int_type, offset):
    mask = ~(1 << offset)
    return(int_type & mask)

5、测试某一位是否位1:

def testBit(int_type, offset):
    mask = 1 << offset
    return(int_type & mask)

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *