如果將兩個整數進行互換,不依賴中間參數?

如果將兩個整數進行互換,不依賴中間參數?

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章