日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

交换2个数值的方法

發布時間:2023/12/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交换2个数值的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如何交換2個變量的值?一般來說,想到的方法是再找一個臨時變量,通過一種順序存放的方式來達到交換值的效果。 比如有a,b這2個變量。取同類型的變量temp。
temp = a ; a = b ; b = temp ; 這樣就完成了交換。

但這樣做的話會多使用一個temp的內存。如果沒有溢出的問題,可以嘗試加減法。 a = a + b ; b = a - b ; a = a - b ; 換成數學運算來表示,a1 = a + b ; b1 = a1 - b = a + b - b = a ; a = a1 - b1 = a + b - a = b ; 完成整個運算無需temp。
還有一種方法,使用異或運算。 2個變量a和b。方法如下: a = a^b ; ?b = ?b^a ; a = a^b ; 交換的過程: a1 = a^b ;? b1 = b^a1 = b^a^b = a ;? a1 = a1^b1 = a^b^a = b ; 這里的b1與a1就是我們想要的。
/*----------------------- 關于異或運算 ---------------------*/ 異或,相同為0,不同為1 。? 真值表:
a^b01
001
110
根據真值表我們可以得到:a^a = 0 ; b^0 = b ; 假設t = 0011 ;那么 t^0000 = 0011 ^ 0000 = 0011 ; t^1111 = 0011 ^ 1111 = 1100 ;

總結

以上是生活随笔為你收集整理的交换2个数值的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。