Я просто хочу додати математичне пояснення, щоб відповідь була більш повною. У теорії груп XOR є абелевою групою , яку також називають комутативною групою. Це означає, що він відповідає п’яти вимогам: закриття, асоціативність, елемент ідентичності, зворотний елемент, комутативність.
Формула обміну XOR:
a = a XOR b
b = a XOR b
a = a XOR b
Розгорніть формулу, підставте a, b попередньою формулою:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
Комутативність означає "a XOR b", що дорівнює "b XOR a":
a = a XOR b
b = a XOR b = (a XOR b) XOR b
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
Асоціативність означає "(a XOR b) XOR c", що дорівнює "a XOR (b XOR c)":
a = a XOR b
b = a XOR b = (a XOR b) XOR b
= a XOR (b XOR b)
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
= b XOR (a XOR a) XOR (b XOR b)
Інверсний елемент у XOR - це сам, це означає, що будь-яке значення XOR саме по собі дає нуль:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
= a XOR (b XOR b)
= a XOR 0
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
= b XOR (a XOR a) XOR (b XOR b)
= b XOR 0 XOR 0
Елемент ідентичності в XOR дорівнює нулю, це означає, що будь-яке значення XOR з нулем залишається незмінним:
a = a XOR b
b = a XOR b = (a XOR b) XOR b
= a XOR (b XOR b)
= a XOR 0
= a
a = a XOR b = (a XOR b) XOR (a XOR b) XOR b
= (b XOR a) XOR (a XOR b) XOR b
= b XOR (a XOR a) XOR (b XOR b)
= b XOR 0 XOR 0
= b XOR 0
= b
І ви можете отримати додаткову інформацію в теорії груп .