近期,在学习过程中,碰巧遇到了一个小程序,在这里做下记录。
问题:如何不用中间变量,实现两个数的交换。
思想:借助“亦或”操作。
代码如下:
public void swap(int a,int b){
a ^= b;
b ^= a;
a ^= b;
}
两次异或操作之后,得到的仍是自身。
“&”、“^”等操作还有很多需要学习的地方,在此做下记录。
近期,在学习过程中,碰巧遇到了一个小程序,在这里做下记录。
问题:如何不用中间变量,实现两个数的交换。
思想:借助“亦或”操作。
代码如下:
public void swap(int a,int b){
a ^= b;
b ^= a;
a ^= b;
}
两次异或操作之后,得到的仍是自身。
“&”、“^”等操作还有很多需要学习的地方,在此做下记录。