【Python面試題】請解釋一下Python中的位運算符?
【Python面試題答案】:
該運算符按二進制位對值進行操作。
與(&),按位與運算符:參與運算的兩個值,如果兩個相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
>>> 0b110 & 0b010
2
或(|),按位或運算符:只要對應(yīng)的?個?進位有?個為1時,結(jié)果位就為1。
>>> 3|2
3
異或(^),按位異或運算符:當兩對應(yīng)的?進位相異時,結(jié)果為1
>>> 3^2
1
取反(~),按位取反運算符:對數(shù)據(jù)的每個二進制位取反,即把1變?yōu)?,把0變?yōu)?
>>> ~2
-3
左位移(<<),運算數(shù)的各二進位全部左移若干位,由 << 右邊的數(shù)字指定了移動的位數(shù),高位丟棄,低位補0
>>> 1<<2
4
右位移(>>),把">>"左邊的運算數(shù)的各?進位全部右移若?位, >> 右邊的數(shù)字指定了移動的位數(shù)
>>> 4>>2
1