按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計(jì)算的。Python中的按位運(yùn)算法則如下:
按位與 ( bitwise and of x and y )
& 舉例: 5&3 = 1 解釋: 101 11 相同位僅為個(gè)位1 ,故結(jié)果為 1
按位或 ( bitwise or of x and y )
| 舉例: 5|3 = 7 解釋: 101 11 出現(xiàn)1的位是 1 1 1,故結(jié)果為 111
按位異或 ( bitwise exclusive or of x and y )
^ 舉例: 5^3 = 6 解釋: 101 11 對位相加(不進(jìn)位)是 1 1 0,故結(jié)果為 110
按位反轉(zhuǎn) (the bits of x inverted )
~ 舉例: ~5 = -6 解釋: 將二進(jìn)制數(shù)+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110
按位反轉(zhuǎn)僅能用在數(shù)字前面。所以寫成 3+~5 可以得到結(jié)果-3,寫成3~5就出錯了
按位左移 ( x shifted left by n bits )
<< 舉例: 5<<2 = 20 解釋:101 向左移動2位得到 10100 ,即右面多出2位用0補(bǔ)
按位右移 ( x shifted right by n bits )
>> 舉例: 5>>2 = 1 解釋:101 向右移動2位得到 1,即去掉右面的2位
新聞熱點(diǎn)
疑難解答
圖片精選