異或運算推導, 交換資料

2022-10-09 19:33:07 字數 986 閱讀 3615

/*

* 5 0101

* 9 1010

* * 5 ^ 5

* 0101

* 0101

* -----

* 0000

* 得出第乙個規律: 相同的數進行異或, 結果是0

* * 9 ^ 5 ^ 6

* 1010

* 0101

* ----

* 1111

* * 1111

* 0110

* ----

* 1001

* * 9 ^ 6 ^ 5

* 1010

* 0110

* -----

* 1100

* * 1100

* 0101

* -----

* 1001

* 得到第二個規律: 異或的順序是可以交換的

* * 1001

* 0000

* ----

* 1001

* * 0101

* 0000

* ----

* 0101

* 得到第三個規律: 任何數和0異或, 結果是本身

*///規律1, 相同的數進行異或, 結果是0

//規律2, 異或的順序可以交換 9 ^ 5 ^ 6 == 9 ^ 6 ^ 5

//規律3, 任何數和0異或, 結果是本身

//推導 a ^ b ^ a = b

//根據2 a ^ b ^ a = a ^ a ^ b

//根據1 a ^ b ^ a = a ^ a ^ b = 0 ^ b

//根據3 a ^ b ^ a = a ^ a ^ b = 0 ^ b = b

echo php_eol;

function swap($a, $b)

swap(1, 2);

以上就介紹了異或運算推導, 交換資料,包括了方面的內容,希望對php教程有興趣的朋友有所幫助。

異或運算實現兩數交換

在 演算法競賽入門經典 第2版 p9,介紹了三種交換兩個數的方法。1 三變數法 incldueusing namespace std int main 2 不借助其他變數 incldueusing namespace std int main 3 異或運算 異或 是乙個數 算符。它應用於邏輯運算。異...

異或運算 有趣的異或運算

異或運算可以看做是沒有進製的加法,按位異或運算,相同為0,不同為1。0 0 0 0 1 1 1 0 1 1 1 0 觀察運算結果我們發現,當與0做異或運算時,另一元值不變 而與1做異或運算時,另一元值值取反。根據以上異或運算的特徵,可以有以下用途,除方便直觀外,運算效能也更加優異。1 變數重置0 假...

(與運算) (或運算) (異或運算)

即 兩個運算元同為 1 的時候為1 0 0 0 1 0 1 0 1 1 1 1 1 即 兩個運算元中至少有乙個為 1 的時候為1 0 0 0 0 1 1 1 0 1 1 1 0 即 兩個運算元不同的時候為1 運算規則 1 0 0 1 即 對乙個二進位制數按位取反,即將0變1,1變0。將乙個運算物件的...