用产生式表示异或XOR逻辑,xor指令可实现异或非运算
演示示例“或”和“异或”的区别:
第一段:
答:按这个系统后面的标志。当
或者
房间有大量烟雾时,紧急按钮,警报将响起。这是独家的吗?
你是什么意思?
b:当后面的标志按下紧急按钮,房间里有很多烟的时候,报警器会响吗?
答:当然!
第2款:
a:现在C博士应该在北京做讲座
或者
上海。这是独家的吗?
你在说什么?
b:C博士有没有可能在北京上海?
答:当然不是!
显然,这两个对话中“或者”的意思是不一样的。
第一个“或”不是排他的,也就是说,它是通用的,或者在Python中由逻辑运算符or表示。
第二个“或”是排他的,也就是说我们说的异或(xor)在Python中是用来表示的。
以下是异或逻辑运算的真值表:
hldxx有一个为真 但不同时为真
的操作称为异或
。用数字1和0来表示,它是什么样子的?
我们发现,当数字相同时,结果是0,当数字不同时,结果是1。
0和1以外的数字呢?
或者基于二进制的按位异或的结果。5 ^ 6的过程实际上是将5和6分别转换成二进制:
5=0101(b)
6=0110(b)
异或是0011(b),也就是3。