Булевские (логические) операции

   
На этом шаге мы рассмотрим правила выполнения логических операций.

   
Булевские операции выполняются по правилам булевой алгебры, которые показаны ниже:

Таблица 1. Правила выполнения логических операций

Операнды Операции

A B not A A and B A or B A xor B
False False True False False False
False True True False True True
True False False False True True
True True False True True False

   
В Object Pascal также, как и в Borland Pascal, при выполнении булевских операций в логических выражениях поддерживаются две различные модели генерации кода:

  • вычисление логических выражений по полной схеме;
  • вычисление логических выражений по короткой схеме.

   
При использовании полной схемы всегда вычисляются все операнды и выполняются все операции выражения, даже если его результат будет известен уже после первой операции.

   
При использовании короткой схемы вычисление операндов результатов операций выполняется строго слева направо и прекращается, как только выполнение дальнейших действий перестанет оказывать влияние на конечный результат всего выражения.

   
Управление моделью вычисления осуществляется с помощи директивы компилятора $В. По умолчанию установлено значение{$В-}, которое соответствует короткой схеме вычислений.

   
Сведем все сказанное в таблицу:

Таблица 2. Логические операции

Операция Действие Тип операндов Тип результата
Унарные
not Логическое отрицание Булевский Булевский
Бинарные
and Логическое И Булевский Булевский
or Логическое ИЛИ Булевский Булевский
xor Логическое исключающее ИЛИ Булевский Булевский

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий