您的位置:首页 > 编程语言 > Python开发

python位操作学习笔记

2016-06-14 18:03 344 查看

bit

进制转换 |
bin()
能够将整型输入转换为二进制数,同理,八进制和十六进制转换分别为:
oct()
,
hex()
.

print bin(2)  #=> 0b10
print oct(7)  #=> 07
print hex(15) #=> 0xf


非整型转换为整型 |
int()
函数可以将非整型数据转换为整型数据,如
int("42") #=>42
,
int()
其实包含了两个参数。
int('110',2)
,第二个参数表明待转换的数据是什么进制:

print int("110",2)  #=>6
print int("0b100",2) #=>4
print int('0xf',16)  #=> 15
print int('07',8)    #=> 7


左移右移操作 | 通过
<<
>>
操作可分别实现位的左移和右移操作

0b000101 << 3 == 0b101000 (5 << 3 = 40)
0b0010100 >> 3 == 0b000010 (20 >> 3 = 2)


位运算 | 位的与、或、异或、非操作:
&
,
|
,
^
,
~
,非操作相当于将原来的数+1之后,加上一个负号。

位运算可以通过与掩码mask相与相或等操作来实现。

mask可以手写实现,也可以通过左移和右移操作实现,比如我需要检测一个数二进制的第10位是否为1,则只需要通过
mask=0b1<<9
,然后通过
n & mask
即可得知
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 二进制