Операции применяются к выражениям – операндам. Большинство операций в Дельфи имеют два операнда, один из которых помещается перед знаком операции, а другой после. Операция вычитания «-» имеет два операнда: X и Y и вычитает Y от X. Такие операции называют бинарными. Унитарная же операция имеет только один операнд, например –Y.
Арифметические Операции
Арифметические операции применяются к действительным и целым числам (real, integer). Таблица бинарных арифметических операций:
Обозн |
Операция |
Типы операндов |
Тип результата |
Пример |
+ |
сложение |
real, integer |
real, integer |
X + Y |
− |
вычитание |
real, integer |
real, integer |
X − Y |
* |
умножение |
real, integer |
real, integer |
X * Y |
/ |
деление |
real, integer |
real |
X / Y |
div |
Целочисленное деление |
integer |
integer |
I div 2 |
mod |
Остаток целочисленного деления |
integer |
integer |
I mod 6 |
Некоторые правила: результат X/Y имеет тип extended при любых допустимых типах операндов. Для остальных операций, если хоть один операнд имеет тип Real, то результат имеет тип Extended.
Результат целочисленного деления X div Y равен X/Y, округленному в сторону нуля до ближайшего целого.
Выражение X mod Y равносильно выражению X-(X div Y)*Y. Это часто используется в тех случаях, когда надо обеспечить циклическое изменение какой-то переменной при изменении другой.
Операции отношения
При сравнении двух операндов в Дельфи используется операции сравнения. Они возвращают true – истина, если выполняется соотношение указанных операндов, и false – ложь, если соотношение не выполняется.
Обознач |
Операция |
Тип результата |
Пример |
= |
равно |
Boolean |
I = max |
<> |
не равно |
Boolean |
X <> Y |
< |
меньше |
Boolean |
X < Y |
> |
больше |
Boolean |
X >0 |
<= |
меньше или равно |
Boolean |
I <= 2 |
>= |
больше или равно |
Boolean |
I >=X |
Операнды должны иметь совместимые типы, за исключением типов Real и Integer, которые могут сравниваться друг с другом.
Булевы операции
Обознач |
Операция |
Типы операндов |
Тип результата |
Пример |
not |
отрицание |
Boolean |
Boolean |
not C |
and |
логическое И |
X and (Y>1) |
||
or |
Логическое ИЛИ |
A or B |
||
xor |
логическое исключающее ИЛИ |
B xor A |
Логические поразрядные операции
Логические поразрядные операции работают с целыми числами и оперируют с их двоичными представлениями, т.е. работают с двоичными разрядами операндов.
Обознач |
Операция |
Типы операндов |
Тип результата |
Пример |
not |
Поразрядное
отрицание |
целый |
целый |
not C |
and |
Поразрядное И |
X and (Y>1) |
||
or |
Поразрядное ИЛИ |
A or B |
||
xor |
Поразрядное
исключающее ИЛИ |
B xor A |
||
shl |
Поразрядный
Сдвиг влево |
X shl 2 |
||
shr |
Поразрядный
Сдвиг вправо |
X shl 1 |
Правила для поразрядных операций:
- Результат операции not имеет тот же тип, что и ее операнд;
- Результат операций and, or, xor имеет наименьший целый тип, включающий все возможные значения типов обоих операндов;
- Выражения X shl Y и X shr Y – эквивалентны выражению умножения или деления X на 2 в степени Y. Результат имеет тот же тип что и X.
Операции со строками: =,<>,>,<,<=,>= и еще одна операция – сцепление (+) или конкатенация.
. дельфи операции над булевым типом работа с массивами в дэлфи тип операций унитарная тип операций унитарная все операции в delphi