XORの性質

  • 交換則を満たす
    • x xor y = y xor x
  • 結合則を満たす
    • x xor (y xor z) = (x xor y) xor z
  • 分配則を満たす
    • x * (a xor b) = (x * a) xor (x * b)
  • 単位元:0
    • x xor 0 = x
  • 逆元:x自身
    • x xor x = 0
    • a xor x xor x = a
    • a xor x = b xor x <=> a = b
  • 移項ができる
    • x xor y = z
    • x xor y xor y = z xor y <= 両辺に xor y
    • x xor 0 = z xor y
    • x = z xor y