异或的规则是相同为1不同为0吗?

如题所述

异或运算相同为1不同为0是错误的。

异或的规则:两个数不同时结果为1,相同时结果为0。同或的规则:两个数相同时结果为1,不同时结果为0。异或是一个数学运算符它应用于逻辑运算。

如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假。

则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

异或运算的应用

1、交换两个变量的值:a=a^b,b=a^b,a=a^b。

2、判断两个数的符号是否相同:((a^b)>>31)&1,其中31是符号位的偏移量。

3、判断一个数是否是2的整数次幂:(n&(n - 1))=0,其中n是正整数。

4、将数列中的数进行异或操作,可以用于去除数列中的重复数字,即将出现偶数次的数异或后变为0,只剩下出现奇数次的数。

异或运算有以下几个基本运算法则:

1、交换律:a^b=b^a。

2、结合律:(a^b)^c=a^(b^c)。

3、奇偶性:一个数字和1做异或运算,可以判断它的奇偶性。如果结果为0,表示这个数字是偶数,如果结果为1,表示这个数字是奇数。

4、自身异或:任何数字和自身做异或运算的结果都是0,即a^a=0。

5、异或的分配律:a^(b&c)=(a^b)&(a^c),其中&表示按位与操作。

温馨提示:答案为网友推荐,仅供参考
相似回答