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