使用異或運算使兩個變量的值互換


1,首先需要明確的是異或運算滿足交換律和結合律,即有如下公式

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

2,其次,異或運算還滿足下面的公式

a^a=0;
a^0=a;

3,使用異或運算實現兩個變量交換變量值的代碼如下

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

4,對第三步的代碼進行分析如下

a=a^b;
b=a^b=a^b^b=a^(b^b)=a^0=a;
a=a^b=a^b^a=b^(a^a)=b^0=b;

從而實現了使用異或運算將兩個變量值互換。

5,在日常編程情況下,不建議使用這種方法,首先是速度不一定能夠得到提高。

6,對這種方法的另一種理解:

1 a^b=diff;//diff為a,b兩個變量的差值
2 a^diff=b;//a減去差值為b
3 b^diff=a;//b減去差值為a

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM