定义

1 ⊕ 1 = 0
0 ⊕ 0 = 0
1 ⊕ 0 = 1
0 ⊕ 1 = 1

性质

交换律A ⊕ B = B ⊕ A
结合律A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C
自反律A ⊕ B ⊕ B = A ⊕ 0 = A

案例

加法

  1. public class Solution {
  2. public int aplusb(int a, int b) {
  3. if(b==0) return a;
  4. else return aplusb(a^b,(a&b) << 1);
  5. }
  6. }

交换
a = a^b; //a=10100111
b = b^a; //b=10100001
a = a^b; //a=00000110