
5.2.4. Логические типы
Логические типы определяются как скалярные типы, множества значений которых состоят всего из двух значений:
False (ложь) и True (истина).
Значения логических типов упорядочены: значение False меньше, чем значение True.
Логические типы и их характеристики приведены в таблице 5.11.
Таблица 5.11 – Логические типы данных
Тип данных |
Диапазон значений |
Формат (байт) |
Boolean |
False (0), True (1) |
1 |
ByteBool |
False (0), True (не равно 0) |
1 |
WordBool |
False (0), True (не равно 0) |
2 |
LongBool |
False (0), True (не равно 0) |
4 |
Логическим типом, перешедшим в Delphi из языка Паскаль, является тип Boolean. Типы данных ByteBool, WordBool и LongBool введены в язык Delphi специально для совместимости с другими языками, в частности с языками C и C++. Все булевские типы данных совместимы друг с другом и могут одновременно использоваться в одном выражении.
Логические переменные объявляются в разделе описания переменных. Например,
Var
X, Y, Z: Boolean;
Логическими константами является предопределенные в языке Delphi идентификаторы
True и False.
Например, можно записать
X := True;
Y := False;
В этом случае переменным X, Y логического типа присваиваются значения констант True и False.
Над значениями логических типов определены операции, которые представляет таблица 5.12.
Таблица 5.12 – Операции, определенные над логическими данными
Группа операций |
Операция |
Описание |
Тип результата |
Логические операции |
Not |
Одноместная операция (НЕ), результат равен True, если значение операнда False, в противном случае – False. |
логический |
And |
Двухместная операция (И), результат равен True, если значение обоих операндов True, в противном случае – False |
логический |
|
Or |
Двухместная операция (ИЛИ) результат равен True, если хотя бы один из операндов равен True, в противном случае – False |
логический |
|
Xor |
Двухместная операция (исключающее ИЛИ) результат равен True, если только один операнд имеет значение True, в противном случае – False |
логический |
|
Операции сравнения |
= <> > >= < <= |
Равно Не равно Больше Больше или равно Меньше Меньше или равно |
логический |
Правила выполнения логических операций над логическими значениями поясняет таблица 5.13.
Таблица 5.13 – Правила выполнения логических операций
Операция |
A And B |
A Or B |
A Xor B |
Not B |
B A |
0 1 |
0 1 |
0 1 |
0 1 |
0 1 |
0 0 0 1 |
0 1 1 1 |
0 1 1 0 |
1 0 – – |
Таблица 5.13 построена по правилам алгебры логики (булевой алгебры), где 0 соответствует значению False (ложь), 1 – значению True (истина).
Например, если A = False; B = True, то
A And B = False
A Or B = True
A Xor B = True
Not A = True
Not B = False.
Над данными логического типа определены встроенные функции, которые представляет таблица 5.14.
Таблица 5.14 – Встроенные функции, определенные над логическими данными
Функция |
Описание |
Тип результата |
Ord(x)
|
Возвращает ноль, если x = False, единицу, если x = True |
целочисленный |
Pred(X)
|
Для x = True возвращает False, иначе не определено |
тип х |
Succ(X)
|
Для x = False возвращает True, иначе не определено |
тип х |
Sizeof(X) |
Указывает количество байтов для представления значения типа Boolean |
целочисленный |