交换律:a ^ b = b ^ a结合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;d = a ^ b ^ c 可以推出 a = d ^ b ^ c.自反性: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是二进制数0101y是二进制数1011则结果为x^y=11100^0=0;0^1=1;1^0=1;1^1=0只有在两个比较的位不同时其结果是1,否则结果为0即"相同为0,不同为1"。
输入 | 运算符 | 输入 | 结果 |
1 | ^ | 0 | 1 |
1 | ^ | 1 | 0 |
0 | ^ | 0 | 0 |
0 | ^ | 1 | 1 |