位运算
Python当中的位运算:
符号 | 解释 |
---|---|
& | 按位与运算符 |
丨 | 按位或运算符 |
^ | 按位异或运算符 |
~ | 按位取反运算符 |
<< | 左移动运算符 |
>> | 右移动运算符 |
首先一点需要明确的是所有的运算(包括位操作)在计算机内部都是通过补码形式来进行运算
接下来详细介绍:
1.按位与(两个二进制位有一个为1时,结果为1,否则为0)
示例:5 & 7 1 0 1 & 1 1 1 ---------- 1 0 1
2.按位或(两个二进制位有一个为1时,结果为1)
示例:5 | 7 1 0 1 | 1 1 1 ---------- 1 1 1
3.按位异或(二进制的两位相异(不同)时,结果为1)
示例:5 ^ 7 1 0 1 ^ 1 1 1 ---------- 0 1 0
4.按位取反(每个二进制数据位取反,1变0,0变1)
示例:~ 5 ~ 1 0 1 ---------- 0 1 0
5.左移(各二进制位全部左移动若干位,由<<右侧的数字决定,高位丢 弃,低位补0)
示例:2 << 2 移动前:00000010 移动后:00001000
6.右移(各二进制位全部右移动若干位,由>>右侧的数字决定,低位丢弃,高位补0)
示例&#x