交換兩個變數的方法

2021-10-10 17:38:19 字數 918 閱讀 9533

例如交換兩個 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 方法二 利用 算術運算實現。優點 不需要額外的臨時變數...