前言:
当前朋友们对“python的位运算”大致比较关注,同学们都想要学习一些“python的位运算”的相关文章。那么小编在网络上网罗了一些对于“python的位运算””的相关知识,希望兄弟们能喜欢,姐妹们快快来学习一下吧!Python位运算:
位运算符
说明
使用形式
&
按位与
1&1=1,0&1=0,1&0=0,0&0=0
|
按位或
1|1=1,1|0=1,0|1=1,0|0=0
^
按位异或
1^1=0,0^0=0,1^0=1,0^1=1
~
按位取反
~1=0,~0=1
<<
按位左移
6<<1,表示;6<<2,表示;6<<3,表示
>>
按位右移
6>>1,表示;6>>2,表示;6>>3,表示
由于计算机底层只能识别0和1,这样的二进制符合。所以,使用二进制进行计算速度非常快。下面我们用位运算的方式实现加减乘除和移位操作。
代码实现:
# 位运算实现加法操作def add(a, b): while b: sum = a ^ b # 异或操作 temp = (a & b) << 1 # 与操作和左移位操作 a = sum b = temp return a# 位运算实现减法操作def subtraction(a, b): if a < b: b = ~b return -~add(a, b) else: a = ~a return ~add(a, b)# 位运算实现乘法操作def multiplication(a, b): sum = 0 while b: sum = add(sum, a) b -= 1 return sum# 位运算实现除法操作def division(a, b): if a < b: return 0 else: res = division(subtraction(a, b), b) + 1 return res# 左移位操作 相当于十进制做乘法def left_move(a, b): return a << b# 右移位操作 相当于十进制做除法def right_move(a, b): return a >> bif __name__ == '__main__': # 位运算实现加法操作 print(add(15, 3)) # 位运算实现减法操作 print(subtraction(11, 11)) # 位运算实现乘法操作 print(multiplication(6, 13)) # 位运算实现除法操作 print(division(33, 3)) # 左移位操作 print(left_move(6, 2)) # 右移位操作 print(right_move(6, 1))
运行结果
1807811243
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #python的位运算