Python "按位或"和"按位异或"的区别
首先分别解释一下按位或和按位异或
按位或:
按位或指的是参与运算的两个数分别对应的二进制位进行“或”的操作。只要对应的两个二进制位有一个为1时,结果位就为1。python中运算符为“|”
按位异或:
按位异或就是将参与运算的两个数对应的二进制位进行比较,如果一个位为1,另一个位为0,则结果为1,否则,结果位为0。python中运算符为“^”
下面用9和3为操作对象两个例子解释一下:
十进制9 对应的二进制为00001001
十进制3 对应的二进制为00000011
按位或运算结果为 00001011
1 a=9 2 b=3 3 bin(a|b) 4 '0b1011'
十进制9 对应的二进制为00001001
十进制3 对应的二进制为00000011
按位异或运算结果为 00001010
1 a=9 2 b=3 3 bin(a^b) 4 '0b1010'