本文主要介绍位运算符,实际上Python有以下7类运算符:
[赋值运算符]、[比较运算符]、[算术运算符]、[逻辑运算符]、[身份运算符]、[成员运算符]、[位运算符]
按位运算符是把数字看做二进制来运算的,位运算符分两部分:1.位逻辑运算符 2.位移运算符
在二进制中 1 通常为 True,0 通常为 False
& | ^ ~
位移运算符包括 左移 右移
<< >>
位逻辑运算符
二进制中 1 代表 True,0代表 False
& 与运算符,两数为 True 时结果为 True,否则为 False
| 或运算符,两数只要有一个为True,结果就为True,否则为False
^ 异或运算符,当两数不一致时,结果为 True,两数一致时结果为 False
~ 取反运算符,对二进制进行取反,即 1 取反为 0 ,0 取反为 1
# 二进制取反 a = 12 # 1100 print( ~a ) # 1100 + 1 = 1101 # 运行结果:-13 ,对应的二进制码:-1101 位移运算符指定二进制码向左边或右边移动若干位
<< 按位左移运算符,二进制码向左移动 N 位,左移多少位右边就补多少个0
# 按位左移 a = 12 # 12,对应的二进制码:1100 print( a << 3 ) # 运行结果:96,对应的二进制码:1100000>> 按位右移运算符,二进制码向右移动 N 位,右边溢出丢弃,右移多少位左边就补多少个0
# 按位右移 a = 12 # 12,对应的二进制码:1100 print( a >> 1 ) # 运行结果:6 ,对应的二进制码:110