1、异或(xor)是一个数学运算符。它应用于逻辑运算。
2、异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
3、如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
4、逻辑异或运算简称异或。英文为exclusive OR,或缩写成xor。
5、异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
扩展资料:
运算法则
1. a ⊕ a = 0
2. a ⊕ b = b ⊕ a
3. a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;
4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.
5. a ⊕ b ⊕ a = b.
6.若x是二进制数0101,y是二进制数1011;
则x⊕y=1110
只有在两个比较的位不同时其结果是1,否则结果为0
即“两个输入相同时为0,不同则为1”。
参考资料来源:百度百科-异或
你说的计算机逻辑元算,先从概念人手理解三个概念:
门”是这样的一种电路:它规定各个输入信号之间满足某种逻辑关系时,才有信号输出,通常有下列三种门电路:与门、或门、非门(反相器)。从逻辑关系看,门电路的输入端或输出端只有两种状态,无信号以“0”表示,有信号以“1”表示。也可以这样规定:低电压为“0”,高电平为“1”,称为正逻辑。反之,如果规定高电平为“0”,低电平为“1”称为负逻辑,然而,高与低是相对的,所以在实际电路中要选说明采用什么逻辑,才有实际意义,例如,负与门对“1”来说,具有“与”的关系,但对“0”来说,却有“或”的关系,即负与门也就是正或门;同理,负或门对“1”来说,具有“或”的关系,但对“0”来说具有“与”的关系,即负或门也就是正与门。
逻辑运算为:
AND是"与" 1+0=1 1+1=1 0+0=0 0+1=1
NOR是"或" 1+0=1 0+0=0 1+1=1 0+1=1
XOR是"异或" 1+1=1 0+0=1 1+0=0 0+1=0
与和或就和你数学上学的一样,0代表假,1代表真,他们的各种组合,我想这你应该会吧。
非就更简单了,反过来就好了(!0=1,!1=0)
至于异或,相同为0(即0和0、1和1结果都是0)不同为1。
位运算符的计算主要用在二进制中。
实际开发中也经常会遇到需要用到这些运算符的时候,同时这些运算符也被作为基础的面试笔试题。
所以了解这些运算符对程序员来说是十分必要的。
于此,记录下我所理解的运算符:
如果以开关开灯论:
有这样两个开关,0为开关关闭,1为开关打开。
与(&)运算
与运算进行的是这样的算法:
0&0=0,0&1=0,1&0=0,1&1=1
在与运算中两个开关是串联的,如果我们要开灯,需要两个开关都打开灯才会打开。
理解为A与B都打开,则开灯,所以是1&1=1
任意一个开关没打开,都不开灯,所以其他运算都是0
通俗理解为A(与)&B都开则开,否则关
非(~)运算
非运算即取反运算,在二进制中1变0,0变1
110101进行非运算后为
001010即1010
或(|)运算
或运算进行的是这样的算法:
0&0=0,0&1=1,1&0=1,1&1=1
在或运算中两个开关是并联的,即一个开关开,则灯开。
如果任意一个开关开了,灯都会亮。
只有当两个开关都是关的,灯才不开。
理解为A(或)|B任意开则开
异或(^)运算
异或运算通俗地讲就是一句话
同为真,异为假
所以它是这样的算法:
0&0=1,0&1=0,1&0=0,1&1=1
版权声明:转载请标明出处 谢谢 https://blog.csdn.net/chijiandi/article/details/79022473