Главная » Статьи » Pascal » Ископаемые советы по языку Pascal

Совет 13 Логический тип

Переменные логического типа boolean занимают в памяти 1 байт и могут принимать только одно из двух предопределенных значений: true или false. В операции присваивания переменным этого типа могут участвовать выражения которые возвращают логическое значение:

var
  a:boolean;
begin
  a:=(2<3) and (3>1);
end;

Вычисление логических выражений происходит слева на право. Если на каком-то этапе вычисление дает однозначный результат, то оставшаяся часть выражения не вычисляется. в приведенном примере будет вычислена только левая часть выражения (2<3), в результате будет получено значение false, а так как логическое and значения false с любым другим значение даст только false, то правая часть выражения (3>1) вычисляться не будет.

Диалект Free Pascal поддерживает еще три логических типа: bytebool, wordbool и longbool. В памяти переменные этих трех типов занимают 1, 2 и 4 байта соответственно, и как и boolean могут принимать только значения true или false.

Типы byteboolwordbool и longbool служат для обеспечения совместимости разрабатываемых программ с Windows, в которой значению False соответствует число 0, а значению True - любое число, отличное от 0. Результирующим типом операций сравнения и логических операций по-прежнему остается тип boolean.

Категория: Ископаемые советы по языку Pascal | Добавил: ape_ss (21.10.2010) | Автор: Сергей Галушко E
Просмотров: 895 | Комментарии: 2 | Теги: литература, Pascal, Pascal ABC .NET, Pascal ABC | Рейтинг: 0.0/0
Всего комментариев: 2
avatar
0
1 darkoder • 12:02, 08.06.2013
если bytebool, wordbool и longbool могут принимать только значения true или false,
то для чего они нужны вообще?
есть ли у этих типов ещё отличия от boolean, кроме размера в 1, 2 и 4 байта
avatar
0
2 ape_ss • 21:56, 11.02.2017
Типы ByteBool, WordBool и LongBool служат для обеспечения совместимости разрабатываемых программ с Windows, в которой значению False соответствует число 0, а значению True - любое число, отличное от 0. Результирующим типом операций сравнения и логических операций по-прежнему остается тип Boolean.
avatar