Python位運算符(二進制)

瞭解位運算符之前首先要了解二進制

&(按位與),|(按位或),|(按位異或),|(按位反轉),|(按位左移),|(按位右移),|()

按位與 :  & ----------(同爲1,纔是1)

5&3 = 1 ---------- ------> 101  011 001 相同位僅爲個位1 ,故結果爲 1

按位或 :| ----------(一個爲1,就爲1)

5|3 = 7  ---------- ------> 101  011 出現1的位是 1 1 1,故結果爲 111

按位異或 :^ ----------(相同爲0,不同爲1)

5^3 = 6  ---------- ------> 101  011 對位相加是 1 1 0,故結果爲 110

比如:a=10, b=100

a的二進制  1010   b的二進制  1100100

a    : 0 0 0 1 0 1 0

b    : 1 1 0 0 1 0 0

a^b: 1 1 0 1 1 1 0  ----> 110  (異或:相等爲0,不等爲1)

b    : 1 1 0 0 1 0 0

b^a: 0 0 0 1 0 1 0  ---->10

a    :  1 1 0 1 1 1 0

a^b: 1 1 0 0 1 0 0  ---->100
————————————————
版權聲明:本文爲CSDN博主「__IProgrammer」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/wang785994599/article/details/80924285

按位反轉 :~ (將二進制數+1之後乘以-1)

~5 = -6  ---------- ------> ~x = -(x+1),-(101 + 1) = -110

~7 = -(0111+1)= -1000 = -8

按位左移 :<< (向左移動n位然後空位補0)

5<<2 = 20 ---------- ------> 101 向左移動2位得到 10100 ,即右面多出2位用0補

按位右移 :>> (向右移動n位然後空位補0)5>>2 = 1 ---------- ------> 101 向右移動2位得到 001 ,即左邊用0補

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章