鮮為人知的python位運算

deeply發表於2021-09-11

鮮為人知的python位運算

位運算,計算機內所有的數都以二進位制儲存,位運算就是對二進位制位的操作

位運算子 說明
<< 按位左移,左移n位相當於乘以2的n次方
>> 按位右移 ,左移n位相當於除以2的n次方
& 按位與,二進位制位數同且為1結果位為1
l 按位或 ,二進位制位數或有1結果位為1
^ 按位異或 ,二進位制位數不同結果位為1
~ 按位取反,二進位制位0和1結果位互換

按位左移例子

a=11
b=a<<3                  # 將 a 左移三位
print("下面是十進位制")
print(a)
print(b)                # b=a*(2**3)
print("下面是二進位制")
#print(bin(a))          # 轉化為二進位制顯示
print(bin(a)[2:])       # 切片,去掉前面的:0b
print(bin(b)[2:])       # 二進位制右邊補上三個000

在這裡插入圖片描述    

其他的例子

a=3
b=2
print("二進位制:"+bin(a)[2:]+" a十進位制:%d"%a)       # 顯示二進位制數
print("二進位制:"+bin(b)[2:]+" b十進位制:%d"%b)
print("按位與:"+bin(a&b)+"  位與後是:%d"%(a&b))  # 都是1才是1
print("按位或:"+bin(a|b)+"  位或後是:%d"%(a|b))  # 有1就是1
print("按位取反"+bin(~a)+"  位反後是:%d"%~a)   # 結果是:a 的倒數-1

在這裡插入圖片描述    

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2837143/,如需轉載,請註明出處,否則將追究法律責任。

相關文章