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

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

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

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

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

ABnot AA and BA or BA xor B
FalseFalseTrueFalseFalseFalse
FalseTrueTrueFalseTrueTrue
TrueFalseFalseFalseTrueTrue
TrueTrueFalseTrueTrueFalse

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

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

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

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

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

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

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

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

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



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

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