Существует 4 предопределенных булевских типа: Boolean,
ByteBool, WordBool и LongBool. Значения булевского типа обознача-
ются встроенными идентификаторами констант False и True. Посколь-
ку булевский тип является перечислимым, между этими значениями
имеют место следующие отношения:
- False < True
- Ord(False) = 0
- Ord(True) = 1
- Succ(False) = True
- Pred(True) = False
Переменные типа Boolean и ByteBool занимают 1 байт, пере-
менная WordBool занимает два байта (слово), а переменная LongBool
занимает четыре байта (два слова). Boolean - это наиболее предпо-
чтительный тип, использующей меньше памяти; типа ByteBool,
WordBool и LongBool обеспечивают совместимость с другими языками
и средой Windows.
Предполагается, что переменная типа Boolean имеет порядковые
значения 0 и 1, но переменные типа ByteBool, WordBool и LongBool
могут иметь другие порядковые значения. Когда выражение типа
ByteBool, WordBool или LongBool равна 1, то подразумевается, что
она имеет значение True, а если оно равно 0 - то False. Когда
значение типа ByteBool, WordBool или LongBool используется в кон-
тексте, где ожидается значение Boolean, компилятор будет автома-
тически генерировать код, преобразующий любое ненулевое значение
в значение True.