異或交換兩個變量的值

採用下面的方法,對於給定兩個整數a,b,下面的異或運算可以實現a,b的交換,而無需藉助第3個臨時變量:

a = a ^ b;
b = a ^ b;
a = a ^ b;

這個交換兩個變量而無需藉助第3個臨時變量過程,其實現主要是基於異或運算的如下性質:

1.任意一個變量X與其自身進行異或運算,結果爲0,即X^X=0

2.任意一個變量X與0進行異或運算,結果不變,即X^0=X

3.異或運算具有可結合性,即abc=(ab)c=a(bc)

4.異或運算具有可交換性,即ab=ba

結合下圖可以抽象的理解一下
在這裏插入圖片描述

參考:使用異或運算符實現兩個變量交換

發佈了113 篇原創文章 · 獲贊 15 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章