可以使用异或运算来实现两个数的交换。
原理:异或即是相同为0,不同为1(二进制表达),其中一个数与任意一个给定的值连续异或两次,值不变,这就是位运算的原理。
例如: a = a^b^a;
具体实现:
public void swap(int a,int b){
a = a^b;
b = a^b;
a = a^b;
}
可以使用异或运算来实现两个数的交换。
原理:异或即是相同为0,不同为1(二进制表达),其中一个数与任意一个给定的值连续异或两次,值不变,这就是位运算的原理。
例如: a = a^b^a;
具体实现:
public void swap(int a,int b){
a = a^b;
b = a^b;
a = a^b;
}