位运算符
导读:·位运算符 --位运算是把数字看做二进制数来进行计算的,先将要进行运算的数据转换为二进制,然后才能进行运算 --“位与”运算(&) ·两个操作数据的二进制表示,只有对应位都是1时,结果为1,否则为0位与运算print(12...
·位运算符
--位运算是把数字看做二进制数来进行计算的,先将要进行运算的数据转换为二进制,然后才能进行运算
--“位与”运算(& )
·两个操作数据的二进制表示,只有对应位都是1时,结果为1,否则为0
位与运算print(12 &
8) #位与运算
结果:8
--“位或”运算(|)
·两个操作数据的二进制表示,只有对应位都是0时,结果为0,否则为1
位或运算print(4 | 8)#位或运算
结果:12
--“位异或”运算(^)
·两个操作数据的二进制表示,同时为0或同时为1,结果为0,否则为1(相同为0,不同为1)
位异或运算print(31 ^ 22)#位异或运算
结果:9
--“位取反”运算(~)
·操作数中对应的二进制数1修改为0,0修改为1
位取反运算print(~123) #位取反运算
结果:-124
--“左移位”运算()
·将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边的空位用0补充
·左移位运算相当于乘以2的N次幂
左移位运算print('左移位',22) #左移位:将2向左移动2位
结果:8 (相当于2*2**2即2乘以2的2次幂)
print('左移位',23) #左移位:将2向左移动3位
结果:16 (相当于2*2**3即2乘以2的3次幂)
--“右移位”运算(> > )
·将一个二进制数向右移动指定的位数,右边(低位端)溢出的位被丢弃,左边(高位端)的空位端,如果最高位是0(正数)左侧空位填0,如果最高位是1(负数),左侧空位填1
·右移位运算相当于除以2的N次幂
右移位运算print('右移位',8>
>
2) #右移位:将8向右移动2位
结果:2 (相当于8/2**2即8除以2的2次幂)
print('右移位',-8>
>
2) #右移位:将-8向右移动2位
结果:-2 (相当于-8/2**2即8除以2的2次幂)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 位运算符
本文地址: https://pptw.com/jishu/3389.html