XOR
任意の偶数 n について n ^ (n+1) = 1
cout << (2 ^ 3) << endl; // 1
cout << (44 ^ 45) << endl; // 1
cout << (678 ^ 679) << endl; // 1
10 進数 | 2 進数 |
---|---|
44 | 101100 |
45 | 101101 |
偶数 n について n と n + 1 を 2 進数表記にすると、最下位ビットのみが異なるので XOR を取ると必ず 1 になる。
cout << (2 ^ 3) << endl; // 1
cout << (44 ^ 45) << endl; // 1
cout << (678 ^ 679) << endl; // 1
10 進数 | 2 進数 |
---|---|
44 | 101100 |
45 | 101101 |
偶数 n について n と n + 1 を 2 進数表記にすると、最下位ビットのみが異なるので XOR を取ると必ず 1 になる。