按位或和按位異或的區(qū)別?
按位或:
按位或指的是參與運(yùn)算的兩個(gè)數(shù)分別對(duì)應(yīng)的二進(jìn)制位進(jìn)行“或”的操作。只要對(duì)應(yīng)的兩個(gè)二進(jìn)制位有一個(gè)為1時(shí),結(jié)果位就為1。python中運(yùn)算符為“|”
按位異或:
按位異或就是將參與運(yùn)算的兩個(gè)數(shù)對(duì)應(yīng)的二進(jìn)制位進(jìn)行比較,如果一個(gè)位為1,另一個(gè)位為0,則結(jié)果為1,否則,結(jié)果位為0。python中運(yùn)算符為“^”
下面用9和3為操作對(duì)象兩個(gè)例子解釋一下:
十進(jìn)制9 對(duì)應(yīng)的二進(jìn)制為00001001
十進(jìn)制3 對(duì)應(yīng)的二進(jìn)制為00000011
按位或運(yùn)算結(jié)果為 00001011
1 a=9
2 b=3
3 bin(a|b)
4 '0b1011'
十進(jìn)制9 對(duì)應(yīng)的二進(jìn)制為00001001
十進(jìn)制3 對(duì)應(yīng)的二進(jìn)制為00000011
按位異或運(yùn)算結(jié)果為 00001010
1 a=9
2 b=3
3 bin(a^b)
4 '0b1010'