Какую математическую операцию выполняет XOR?
Что делает оператор ^ (XOR)?
Ответ 1
XOR является двоичной операцией, она означает "эксклюзивный" или "то есть", т.е. полученный бит оценивается равным единице, если установлен только один из битов.
Это его таблица функций:
a | b | a ^ b
--|---|------
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
Эта операция выполняется между каждыми двумя соответствующими битами числа.
Пример: 7 ^ 10
В двоичном формате: 0111 ^ 1010
0111
^ 1010
======
1101 = 13
Свойства: Операция является коммутативной, ассоциативной и самообратной.
Это тоже то же самое, что и сложение по модулю 2.
Ответ 2
^
является побитовым XOR-оператором Python. Это то, как вы пишете XOR
в python:
>>> 0 ^ 0
0
>>> 0 ^ 1
1
>>> 1 ^ 0
1
>>> 1 ^ 1
0
XOR обозначает исключительное ИЛИ. Он используется в криптографии, потому что он позволяет вам "переворачивать" биты с использованием маски в обратимой операции:
>>> 10 ^ 5
15
>>> 15 ^ 5
10
где 5
- маска; (входная маска XOR) Маска XOR снова дает вам вход.