本文共 569 字,大约阅读时间需要 1 分钟。
异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。
所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量。如下代码所示:
int a = 10; int b = 20; int temp = 0; temp = a; a = b; b = temp; System.out.println(a); System.out.println(b);
而在这里的话,我们不允许引用第三个变量来进行操作,只能使用这两个变量进行操作,那又该如何将这两个变量的值进行替换呢?
这个时候就需要使用到异或了,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身。
int a = 121; int b = 211; System.out.println(a ^ b); System.out.println("b--->" + (a ^ b ^ a)); System.out.println("a--->" + (a ^ b ^ b));
类似地,该运算还可以应用在加密,数据传输,校验等等许多领域。
转载地址:http://rkqzi.baihongyu.com/