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

Логический тип основан на правилах Булевой алгебры, широко используемой в цифровой электронике. Этот тип определяет всего два значения True (истина) и False (ложь), которые и являются константами. Описывается этот тип словом Boolean, определенным как

Type Boolean = (False,True);

Над значениями логического типа определены следующие операции:

NOT – «НЕ», логическое отрицание или инверсия, в отличие от остальных выполняется над одним операндом (унарная операция);

OR – «ИЛИ», логическое сложение или дизъюнкция;

AND – «И», логическое умножение или конъюнкция;

XOR – «исключающее ИЛИ», сложение по модулю 2 (в стандартном Паскале отсутствует).

Пусть А и В – логические значения, тогда результат операций будет определяться по следующей таблице:

А В not A A or B A and B A xor B
True True False True True False
True False False True False True
False True True True False True
False False True False False False

В Паскале, как и в цифровой электронике, True кодируется единицей, а False – нулем (0 – низкое напряжение, 1 – высокое; при использовании обратной логики – наоборот). Поэтому логические операции разрешены не только над логическими значениями, но и над целыми, представляемыми в двоичной системе счисления. Например, если А=21 (101012), а В=9 (10012), и они описаны как байты, то:

not A = 111010102 = 23410

A or B = 000111012 = 2910

A and B = 00000001

Обычно их используют над беззнаковыми целыми типа Byte или Word.

Шесть операций отношения или сравнения:

> < = ¹ ³ £,

применимые ко всем простым типам и многим структурированным, всегда дают логический результат. Более того, и над логическими значениями допускается выполнение операций отношения:

True > False ® True,

True < False ® False.

Возможны даже такие записи:

Var i:boolean;

...

For i:=False to True do

<оператор>;

Здесь оператор выполнится два раза, сначала со значением i = False, затем i = True.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: