算法解析
A是位異或的運算符,即比較相同兩位的異同,若是相同,則賦值爲0,不然爲1。
在本程序中a、b的初始值分別爲3和5,對應的二進制分別爲00000011和00000101。通過下面的3個步驟交換了兩個變量的值。
(1)代碼第6行,a的二進制變爲00000110,b仍爲00000101。即b不變,取出全部不相等的位存入a。
(2)代碼第7行,a的二進制爲00000110,b變爲00000011。即a不變,取出全部不相等的位存入b。此時b的值爲a的初始值。
算法代碼
源程序以下所示。html