python基础之位运算符
- 将数据转化成二进制进行运算
- 位与 & 对应位都是1,结果才为1, 否则都是0
- 位或 | 对应位都是0,结果才为0, 否则都是1
- 左移位运算符 << 高位溢出舍弃 低位补0 向左移动一位相当于乘以2
- 右移位运算符 >> 低位溢出舍弃 高位补0
代码演示
print(4&8)
执行过程:(对应位都是1,结果才为1, 否则都是0)
0 0 0 0 0 1 0 0 4的二进制
0 0 0 0 1 0 0 0 8的二进制
0 0 0 0 0 0 0 0 十进制结果为0
执行结果:
0
print(4|8)
执行过程:(对应位都是0,结果才为0, 否则都是1)
0 0 0 0 0 1 0 0 4的二进制
0 0 0 0 1 0 0 0 8的二进制
0 0 0 0 1 1 0 0 十进制结果为12
执行结果:
12
print(4<<1)
print(4<<2)
执行过程:(高位溢出舍弃 低位补0)
0 0 0 0 0 1 0 0 4
0 0 0 0 1 0 0 0 结果为8 相当于乘以2
0 0 0 1 0 0 0 0 结果为16 对于8移东一位 对于4移动了2位
执行结果:
8
16
print(4>>1)
print(4>>2)
执行过程:(高位溢出舍弃 低位补0)
0 0 0 0 0 1 0 0 4
0 0 0 0 0 0 1 0 结果为2 相当于除以2
0 0 0 0 0 0 0 1 结果为1
执行结果:
2
1