Java异或详解 - 利用异或,交换两个数
转载自:cnblog
异或的使用
异或运算最常见于多项式除法,不过它最重要的性质还是自反性:A ^ B ^ B = A,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身。
例如,所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量。但如果使用异或,就可以节约一个变量的存储空间: 设有A,B两个变量,存储的值分别为a,b,则以下三行表达式将互换他们的值 表达式 (值) :
A = A ^ B
B = B ^ A
A = A ^ B
例:
int a = 10, b = 5;
a = a ^ b;
b = a ^ b;
a = a ^ b;