Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Delphi_1.doc
Скачиваний:
43
Добавлен:
28.03.2015
Размер:
710.14 Кб
Скачать
      1. 2.4.4. Булевские операции

Результатом выполнения логических (булевских) операций является логическое значение True или False (приложение №8). Операндами в логическом выражении служат данные типа Boolean.

Операция

Действие

Выражение

A

B

Результат

not

Логическое отрицание

not A

TrueFalse

FalseTrue

and

Логическое И

A and B

TrueTrue FalseFalse

TrueFalseTrueFalse

TrueFalseFalseFalse

or

Логическое ИЛИ

A or B

TrueTrue FalseFalse

TrueFalseTrueFalse

TrueTrueTrueFalse

xor

Исключающее ИЛИ

A xor B

TrueTrue FalseFalse

TrueFalseTrueFalse

FalseTrueTrueFalse

Результаты выполнения типичных логических операций:

Выражение

Результат

not (17 > 19)

True

(7 <= 8) or (3 < 2)

True

(7 <= 8) and (3 < 2)

False

(7 <= 8) xor (3 < 2)

True

      1. 2.4.5. Операции с битами (эта часть пока не нужна)

Если операнды в булевской операции имеют целочисленный тип, то операция выполняется над битами операндов и называется побитовой. К побитовым операциям также относятся операции сдвига битов влево (shl) и вправо (shr).

Операция

Действие

Тип операндов

Тип результата

not

Побитовое отрицание

Целый

Целый

and

Побитовое И

Целый

Целый

or

Побитовое ИЛИ

Целый

Целый

xor

Побитовое исключающее ИЛИ

Целый

Целый

shl

Сдвиг влево

Целый

Целый

shr

Сдвиг вправо

Целый

Целый

Примеры побитовых операций:

Выражение

Результат

not $FF00

$00FF

$FF00 or $0FF0

$FFF0

$FF00 and $0FF0

$0F00

$FF00 xor $0FF0

$F0F0

$FF00 shl 4

$F000

$FF00 shr 4

$0FF0

      1. 2.4.6. Очередность выполнения операций

При выполнении выражений одни операции выполняются раньше других. Например, в выражении

20 + 40 / 2

сначала произойдет деление (ибо скобок, меняющих естественный порядок выполнения операций, нет) и только потом — сложение. Выполнение каждой операции происходит с учетом ее приоритета. Не зная приоритета каждой операции, крайне трудно правильно записать даже самое простое выражение.

Значения приоритетов для рассмотренных выше операций представлены в приложении №9.

Операция

Приоритет

Описание

–, not

Первый

Унарный минус, отрицание

*, /, div, mod, and

Второй

Операции типа умножение

+, –, or, xor

Третий

Операции типа сложение

=, <>, <,>, <=, >=

Четвертый

Операции отношения

Чем выше приоритет (первый — высший), тем раньше операция будет выполнена.