什么是位运算
程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。比如,and 运算本来是一个逻辑运算符,但整数与整数之间也可以进行and 运算。举个例子,
6
6
6的二进制是
110
110
110,
11
11
11的二进制是
1011
1011
1011,那么
6
a
n
d
11
6 and 11
6and11的结果就是
2
2
2,它是二进制对应位进行逻辑运算的结果(
0
0
0表示
F
a
l
s
e
False
False,
1
1
1表示
T
r
u
e
True
True,空位都当
0
0
0处理)。
位运算符
运算符通常在图形、图像处理和创建设备驱动等底层开发中使用。使用位运算符可以直接操作数值的原始 bit 位。尤其是在使用自定义的协议进行通信时,使用位运算符对原始数据进行编码和解码也非常有效。
Python中支持的位运算符
Python中支持的位运算符如下:
位运算符 | 解释 | 数学表达式 |
---|
& | 按位与 |
a
∧
b
a \wedge b
a∧b | | | 按位或 |
a
∨
b
a \vee b
a∨b | ^ | 按位异或 |
a
⊕
b
a \oplus b
a⊕b | ~ | 按位取反 |
?
a
\neg a
?a | << | 左位移运算符 | | >> | 右位移运算符 | |
位运算符的运算法则如下:
数值
a
a
a | 数值
b
b
b | 与运算 | 或运算 | 异或运算 |
---|
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
参考
- 百度百科
- 疯狂python讲义
|