什么是异或运算?
异或,英文为exclusive OR,缩写成xor
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
异或略称为XOR、EOR、EX-OR
程序中有三种演算子:XOR、xor、⊕。
使用方法如下
z = x ⊕ y
z = x xor y
扩展资料
运算法则
1)交换律:a ^ b = b ^ a。
2)结合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
d = a ^ b ^ c 可以推出 a = d ^ b ^ c。
3)自反性:a ^ b ^ a = b。
异或运算最常见于多项式除法,不过它最重要的性质还是自反性:
A^B^ B=A,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身。这是一个神奇的性质,利用这个性质,可以获得许多有趣的应用。例如,所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量。但如果使用异或,就可以节约一个变量的存储空间:
设有A,B两个变量,存储的值分别为a,b,则以下三行表达式将互换他们的值表达式(值):
A=A^B(a^b);
B=B^A(b^a^b=a);
A=A^B(a^b^a=b)。
类似地,该运算还可以应用在加密,数据传输,校验等等许多领域。
x是二进制数0101;
y是二进制数1011;
则结果为x^y=1110;
0^0=0;0^1=1;1^0=1;1^1=0;
只有在两个比较的位不同时其结果是1,否则结果为0。
即“相同为0,不同为1”。
参考资料来源:百度百科-异或运算
参考资料来源:百度百科-异或操作
异或运算怎么算
异或运算如下:可以A异或(A异或B)看作a^(a^b)=(a^a)^b,又因为a^a=0,原式可以简化成0^b=b。
逻辑加法通常用符号“+”或“∨”来表示。逻辑加法运算规则如下:
0+0=0,0∨0=0。
0+1=1,0∨1=1。
1+0=1,1∨0=1。
1+1=1,1∨1=1。
从上式可见,逻辑加法有“或”的意义。也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1。
语言巧用
与其它语言不同,C语言和C++语言(C++支持xor,用法和效果如'^'相同)的异或不用xor,而是用“^”,键入方式为Shift+6。(而其它语言的“^”一般表示乘方)若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换。
异或运算为什么叫异或,感觉他的逻辑功能和他的名字联系不容易记
本文发布于:2023-02-28 20:23:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167767325685685.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:异或(异或门).doc
本文 PDF 下载地址:异或(异或门).pdf
留言与评论(共有 0 条评论) |