1. 交换两个数
使用异或交换两个数,基本原理是:一个数按位异或两次,得到其本身。
#include <iostream>
using namespace std;
void TestSwap(){
int x = 10;
int y = 20;
cout << "swap before: " << endl;
cout << "x: " << x << " y:" << y << endl;
x = x ^ y; // 10 ^ 20
y = x ^ y; // 10 ^ 20 ^ 20 = 10 一个数按位异或两次得到其本身
x = x ^ y; // 10 ^ 20 ^ 10 = 20
cout << "swap after: " << endl;
cout << "x: " << x << " y:" << y << endl;
}
int main(){
TestSwap();
return 0;
}