Шаг 41.
Microsoft Visual C++ 2010. Язык С/С++.
Побитовые логические операции

    На этом шаге мы рассмотрим эти операции и особенности их использования.

    Эти операции выполняются над соответствующими битами чисел, имеющими целый тип. Если операнд - не целое число, то оно автоматически преобразуется в целое. Побитовые операции таковы:

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

Таблица 1. Правила выполнения побитовых логических операций
Значения битов Результат операции
Е1 Е2 Е1 & Е2 Е1 | Е2 Е1 ^ Е2 ~Е1
0 0 0 0 0 1
1 0 0 1 1 0
0 1 0 1 1 1
1 1 1 1 0 0

    Следует отличать побитовые операции над целыми числами от логических. Например:

  int х=1, y=2;   
  bool  а=х && у;   
  bool b=x & у;

    Здесь:
а = 1, b = 0, потому что:
из a = x && y следует: т. к. х не равно и у не равно 0, то по определению операции && результат будет истинен, а в языке С истинный результат имеет значение 1.

    С другой стороны, для поразрядного "и" получим: х = 01, у = 10 в двоичной системе счисления, в которую надо перевести операнды, чтобы выполнить побитовую операцию &. Тогда получим: 01 & 10 = 00.

    На следующем шаге мы рассмотрим операции присваивания.




Предыдущий шаг Содержание Следующий шаг