Значениями логического типа BOOLEAN может быть одна из пред-
варительно объявленных констант false (ложь) или true (истина).
Данные логического типа занимают один байт памяти. При этом
значению false соответствует нулевое значение байта, а значению
true соответствует любое ненулевое значение байта. Например:
false всегда в машинном представлении: 00000000; true может выг-
лядеть таким образом: 00000001 или 00010001 или 10000000.
Однако следует иметь в виду, что при выполнении операции
присваивания переменной логического типа значения true, в соот-
ветствующее поле памяти всегда записывается код 00000001.
Над логическими типами возможны операции булевой алгебры -
НЕ (not), ИЛИ (or), И (and), исключающее ИЛИ (xor) - последняя
реализована для логического типа не во всех языках. В этих опера-
циях операнды логического типа рассматриваются как единое целое -
вне зависимости от битового состава их внутреннего представления.
Кроме того, следует помнить, что результаты логического типа
получаются при сравнении данных любых типов.
Интересно, что в языке C данные логического типа отсутству-
ют, их функции выполняют данные числовых типов, чаще всего - типа
int. В логических выражениях операнд любого числового типа, имею-
щий нулевое значение, рассматривается как "ложь", а ненулевое -
как "истина". Результатами логического типа являются целые числа
0 (ложь) или 1 (истина).