Логический тип

Значениями логического типа BOOLEAN может быть одна из пред-

варительно объявленных констант false (ложь) или true (истина).

Данные логического типа занимают один байт памяти. При этом

значению false соответствует нулевое значение байта, а значению

true соответствует любое ненулевое значение байта. Например:

false всегда в машинном представлении: 00000000; true может выг-

лядеть таким образом: 00000001 или 00010001 или 10000000.

Однако следует иметь в виду, что при выполнении операции

присваивания переменной логического типа значения true, в соот-

ветствующее поле памяти всегда записывается код 00000001.

Над логическими типами возможны операции булевой алгебры -

НЕ (not), ИЛИ (or), И (and), исключающее ИЛИ (xor) - последняя

реализована для логического типа не во всех языках. В этих опера-

циях операнды логического типа рассматриваются как единое целое -

вне зависимости от битового состава их внутреннего представления.

Кроме того, следует помнить, что результаты логического типа

получаются при сравнении данных любых типов.

Интересно, что в языке C данные логического типа отсутству-

ют, их функции выполняют данные числовых типов, чаще всего - типа

int. В логических выражениях операнд любого числового типа, имею-

щий нулевое значение, рассматривается как "ложь", а ненулевое -

как "истина". Результатами логического типа являются целые числа

0 (ложь) или 1 (истина).