вернуться к уроку

Симметричны ли операции ^, |, &?

важность: 5

Операция над числами, в конечном итоге, сводится к битам.

Посмотрим, можно ли поменять местами биты слева и справа.

Например, таблица истинности для ^:

a b результат
000
011
101
110

Случаи 0^0 и 1^1 заведомо не изменятся при перемене мест, поэтому нас не интересуют. А вот 0^1 и 1^0 эквивалентны и равны 1.

Аналогично можно увидеть, что и другие операторы симметричны.

Ответ: да.

Верно ли, что для любых a и b выполняются равенства ниже?

  • a ^ b == b ^ a
  • a & b == b & a
  • a | b == b | a

Иными словами, при перемене мест – всегда ли результат остаётся тем же?