什么是异或运算?

 我来答
创作者hWecaOoIUH
高粉答主

2019-12-24 · 每个回答都超有意思的
知道大有可为答主
回答量:8570
采纳率:92%
帮助的人:1255万
展开全部

异或,英文为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”。

参考资料来源:百度百科-异或运算

参考资料来源:百度百科-异或操作

Alex_ann96
2018-03-31 · TA获得超过6917个赞
知道小有建树答主
回答量:115
采纳率:88%
帮助的人:38.6万
展开全部

异或的运算方法是一个二进制运算:

1^1=0

0^0=0

1^0=1

0^1=1


两者相等为0,不等为1.


这样我们发现交换两个整数的值时可以不用第三个参数。

如a=11,b=9.以下是二进制

a=a^b=1011^1001=0010;

b=b^a=1001^0010=1011;

a=a^b=0010^1011=1001;

这样一来a=9,b=13了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
昊昊0325
2020-06-17 · TA获得超过1963个赞
知道小有建树答主
回答量:250
采纳率:100%
帮助的人:16.6万
展开全部
异或运算是一种逻辑运算,相当于不带进位的二进制加法。说的简单点:如果两个值相同,异或结果为0;如果两个值不同,异或结果为1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
器天枰
2019-11-17 · 超过10用户采纳过TA的回答
知道答主
回答量:17
采纳率:83%
帮助的人:5万
展开全部
  1. a^b=b^a   交换律

  2. a^b^c=a^(b^c)=(a^b)^c   结合律

  3. a^b^a=b     证:  a^b^a=a^(b^a)=a^(a^b)=b 

  4. 若 a=d^b^c, 则  d^a=d^d^b^c=b^c,  a^d^a=a^b^c,  得 d=a^b^c

证明了下一楼老哥的回答,至于异或是什么?异或简单来说,在二进制中,相同如1,1;0,0;二者异或为0(即假);不同则为1,(真),如1,0;0,1;

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1024程序员
2020-04-10 · TA获得超过374个赞
知道答主
回答量:457
采纳率:0%
帮助的人:23.4万
展开全部

C语言经典例子之使用按位异或运算符

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式