Андрей
Мыслитель
(6471)
12 лет назад
Каждое число представляется в двоичном виде. Например, числа 2 и 7:
2 = 010
7 = 111
Дальше поразрядно проводится операция исключающего или (сумма по модулю два) . Таблица этой функции такова:
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0
То есть, она равна 1 тогда и только тогда, когда ровно один из двух её аргументов равен 1.
Теперь применим операцию к нашим разрядам
010
111
___
101
Число 101 - это 5 (4*1 + 2*0 + 1*1)
Вот так и получается.
прочитал пару статеек в гугле, но всё равно не понял.
почему при а=2 и b=7
a xor b = 5 ?