首先是基础的,位或(|)、位与(&)、位反(~)。
然后一些比较常用的操作,有一篇很好地Wiki,请参考:
http://wiki.python.org/moin/BitManipulation
下面照抄4个最重要的
1、二进制字符串 -> 整形:
1 2 |
a = int("11111111", 2) print a |
后面的2表示二进制!
2、整形 -> 二进制字符串:
Python3和Python 2.6之后有内置函数bin,而2.x(x<6)中需要自己写如下函数:
1 2 |
def bin(s): return str(s) if s<=1 else bin(s>>1) + str(s&1) |
3、将某一位置为1:
1 2 3 |
def setBit(int_type, offset): mask = 1 << offset return(int_type | mask) |
4、将某一位清除为0:
1 2 3 |
def clearBit(int_type, offset): mask = ~(1 << offset) return(int_type & mask) |
5、测试某一位是否位1:
1 2 3 |
def testBit(int_type, offset): mask = 1 << offset return(int_type & mask) |