運算符: ^
牢記: 相同為0,不同為1
說明: 異或運算是二進制計算, 所以參加運算的值會先轉(zhuǎn)化為二進制數(shù)
實踐 + 驗證 + 分析
// 首先我們定義下面的幾個數(shù)值 與 其對應(yīng)的二進制數(shù)
十進制數(shù) 對應(yīng)的二進制數(shù)
1 1
2 10
3 11
4 100
5 101
6 110
console.log( 2^3 ); // 輸出 1
/* 計算邏輯 ( 同位數(shù)上下比對, 值相同為 0,不同為 1 )
2 => 10
3 => 11
-----------------------
1 <= 01
*/
console.log( 2^3^4 ); // 輸出 5
/* 計算邏輯 ( 此處接上面的計算結(jié)果 )
1 001 // 計算時, 二進制右對齊, 左側(cè)位數(shù)不足的 默認補 0
4 100
------------------
5 101
*/
console.log( 2^3^4^3 ); // 輸出 6
/* 計算邏輯 ( 此處接上面的計算結(jié)果 )
5 101
3 011
----------------
6 110
*/