C++中的按位异或
1. 要求
參加運算的兩個數據,按二進制位進行“異或”(^)運算
2. 運算規則
0 ^ 0 = 0,0 ^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0。
即:參加運算的兩個數據,如果兩個相應位為“異”(值不同),則該位結果為1,否則為0。
3. 代碼示例
#include<iostream> using namespace std;int XOROperator(int &a, int &b) {return a ^ b; }int main() {// 0000 0011 ^ 0000 0101 = 0000 0111int a = 3, b = 5;cout << XOROperator(a, b) << endl;return 0; } 輸出結果: 64. “異或運算”的特殊作用
-
使特定位翻轉:找一個數,對應X要翻轉的各位,該數的對應位為1,其余位為零,此數與X對應位異或即可。
例:X=1010 1110,使X低4位翻轉,用X ^ 0000 1111 = 1010 0001即可得到。 -
與0相異或,保留原值。
例:X=1010 1110,X ^ 0000 0000 = 1010 1110。
總結
- 上一篇: 本地设置测试域名转向
- 下一篇: Python基础练习