bit
- 进制转换 |
bin()
能够将整型输入转换为二进制数,同理,八进制和十六进制转换分别为:oct()
,hex()
.
print bin(2)
print oct(7)
print hex(15)
- 非整型转换为整型 |
int()
函数可以将非整型数据转换为整型数据,如int("42") #=>42
,int()
其实包含了两个参数。int('110',2)
,第二个参数表明待转换的数据是什么进制:
print int("110",2)
print int("0b100",2)
print int('0xf',16)
print int('07',8)
- 左移右移操作 | 通过
<<
和>>
操作可分别实现位的左移和右移操作
0b000101 << 3 == 0b101000 (5 << 3 = 40)
0b0010100 >> 3 == 0b000010 (20 >> 3 = 2)
- 位运算 | 位的与、或、异或、非操作:
&
,|
,^
,~
,非操作相当于将原来的数+1之后,加上一个负号。
- 位运算可以通过与掩码mask相与相或等操作来实现。
- mask可以手写实现,也可以通过左移和右移操作实现,比如我需要检测一个数二进制的第10位是否为1,则只需要通过
mask=0b1<<9
,然后通过n & mask
即可得知