如果將兩個整數進行互換,不依賴中間參數?
int a = 8;
int b = 11;
考察知識點:異或運算^(二進制對比,相同爲0,不同爲1)
int a = a ^ b;
int b = a ^ b;
int a = a ^ b;
解釋如下:
3 轉化二級製爲:0011
8 轉化二級製爲:1000
11 轉化二進制位:1011
第一個表達式: a ^ b 爲0011,也就是3 ,ab結果爲3,11;
第二個表達式: a ^ b 爲1000,也就是8,ab結果爲3,8;
第三個表達式: a ^ b 爲1011, 也就是11,ab結果爲11,8;