XOR дает логическую единицу если исходные данные различаются и ноль, если одинаковые. Значит у A и B только нулевой и второй (если считать справа) биты разные. То есть
A = 1x1
B = 0x0
В данном случае без разницы у кого будет 1, а у кого ноль, потому как нам нужно будет узнать их логическое И, которое от перестановки не меняется.
Далее опираемся на логические единицы в побитовом ИЛИ, то есть биты, которые стали логической единицей будут ей же в исходных A и B, нули соответственно тоже. Итого получаем.
A and B = 01010010 = 82
Объяснение:
Для начала представим в виде битовой строки
А OR B = 87 = 01010111
А XOR B = 5 = 00000101
XOR дает логическую единицу если исходные данные различаются и ноль, если одинаковые. Значит у A и B только нулевой и второй (если считать справа) биты разные. То есть
A = 1x1
B = 0x0
В данном случае без разницы у кого будет 1, а у кого ноль, потому как нам нужно будет узнать их логическое И, которое от перестановки не меняется.
Далее опираемся на логические единицы в побитовом ИЛИ, то есть биты, которые стали логической единицей будут ей же в исходных A и B, нули соответственно тоже. Итого получаем.
A = 01010111
B = 01010010
Теперь побитово считаем И
A and B = 01010010 = 82