异或(exclusive OR)

异或(exclusive OR)

异或,英文为exclusive OR,缩写成xor算法

​异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则
为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)​

若是a、b两个值不相同,则异或结果为1。若是a、b两个值相同,异或结果为0。spa

异或也叫半加运算,其运算法则至关于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,因此异或常被认做不进位加法。code

异或略称为XOR、EOR、EX-ORblog

程序中有三种演算子:XOR、xor、⊕。get

使用方法以下数学

z = x ⊕ yit

z = x xor ytable

逻辑表达式:F=AB’⊕A’B((AB’⊕A’B)’=AB⊙A’B’,⊙为“同或”运算)二进制

异或逻辑的真值表如图1程序

示,其逻辑符号如图2所示。异或逻辑的关系是:当AB不一样时,输出P=1;当AB相同时,输出P=0。“⊕”是异或运算符号,异或逻辑也是与或非逻辑的组合,其逻辑表达式为:

P=A⊕B

图1可知,异或运算的规则是

0⊕0=0,0⊕1=1

1⊕0=1,1⊕1=0
  


  

口诀1:相同取0,相异取1

口诀2:

输入A取0,则输出p=输入B

输入A取1,则输出p=输入B的反

事实上,XOR 在英文里面的定义为either one (is one), but not both, 也即只有一个为真(1)时,取真(1)。

True ⊕ False = True

False ⊕ True = True

False⊕ False = False

True ⊕ True = False

1=True

0=Flase

 

00000000

xor

00000000

-------------

 结果

00000000

   

11111111

 

xor

00000000

--------------

 结果

11111111

   
 

AC