例如交換兩個 int 變數 a,b
int a,b;
int temp;//建立臨時變數
temp =a ;
a= b;
b=temp;
int a=9;
int b =6;
a= a + b;
//執行後a= 15
b = a - b;
//b=15-6=9
a = a - b;
//a=15-9=6
//執行完後a= 6, b= 9;
//該方法的不足是,當a,b 值很大時,a+b的值
//可能會溢位;
a = a * b;
b = a / b;
a = a /b;
在計算機中,異或簡單地來說就是同為0,異為1.
即9^9=0;
6^6=0;
6^9=1;
異或運算存在交換律和結合律
int a=9;
int b=6;
a = a ^ b;
b = a ^ b;
//b=(a^b)^b;由結合律的b=a^(b^b)=a
a = a^ b;
//a=(a^b)^a=(a^a)^b=b
//a^a 的值為0,0與其他數異或為原數
如果上面的理解不了,我們可以化為二進位制來舉例
a=
9,二進位制為1001b=6
,二進位制為0110
a=a^b=
(1001與0110異或)1111
b=a^b=(1111與0110異或)1001
a=a^b=(1111與1001異或)0110
交換兩個變數方法
將兩個變數的值互換,相當簡單的問題。假設有變數a b int a int b 方法1 將a b的值互換,為 int tmp a a b b tmp 然而,如果要求不用中間變數,就交換變數的值,該怎麼做呢?乙個比較有效率且眾所周知的方法就是 方法2 三次異或操作 int a 10,b 12 a 101...
python交換兩個變數的方法
方法一 利用臨時變數 最基礎的用法,也是怎麼用都不容易出錯的方法 temp a a b b temp方法二 python特有的,這種複製操作的原理等會再說。a,b b,a方法三 通過簡單的邏輯運算實現互換操作 a a b b a b a a b方法四 通過異或運算 很巧妙 a a b b a b b...
交換兩個變數
目的 實現兩個變數值的交換 以int 型別為例 方法一 使用臨時變數。優點 安全,適合任何型別資料交換,無溢位風險。缺點 保守 效率不高,需要使用第三方臨時變數 棧空間 1 void swap value int var1,int var2 2 方法二 利用 算術運算實現。優點 不需要額外的臨時變數...