12.8.3 Логические операторы (однобитовые)

На верх  Назад  Вперёд

Логические операторы можно рассматривать как логические операции с одним битом. Поэтому операции SHL и SHR безсмыслены. Логические операторы могут иметь операнды только логического типа, значение результата всегда логического типа (один бит). Все возможные операторы перечислены в таблице (12.5)


Таблица 12.5: Логические операторы

Оператор

Операция

not

Логическое отрицание (унарная)

and

Логическое И

or

Логическое ИЛИ

xor

Логическое XOR


Примечание:

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

B := True or MaybeTrue;

Компилятор не будет вычислять на значении MaybeTrue, так как очевидно, что выражение всегда будет истинным.

В результате этой стратегии, если MaybeTrue является функцией, она не будет вызвана! (Это может привести к непонятному поведению. Например при использовании в свойствах)