【宋红康程序思想学习日记1】运用位运算思想实现两个数的互换

/**
位运算思路的一些解决办法。
交换m=12与n=5的值。
*/
class WeiExercise1
{


public static void main(String[] args)
{
//方法一
/*int temp=0;
int m=12;
int n=5;
temp=m;
m=n;
n=temp;*/

//方法二
/*int m=12;
int n=5;
m+=n;
n=m-n;
m=m-n;*/

//方法三 位运算 (m^n)^m==n,(m^n)^m==n
int m=12;// 1100
int n=5;// 0101
m=m^n;//异或1001=m
n=m^n;//异或0101=1101m=n
m=m^n;//m=1001 ,n=1101==(m^n)^m==n

System.out.print("m值是+"+m+",n值是+"+n);


}
}

原文地址:https://www.cnblogs.com/noaman/p/4921796.html