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

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

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

Таблица 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 Логическое исключающее ИЛИ Булевский Булевский

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




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