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