/*
* 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。將乙個運算物件的...