Операции делятся на 4 категорий согласно приоритету:
1) унарный минус, not — логическое отрицание; @ – получение адреса операнда;
2) операции группы умножения — * (умножить), mod (деление по модулю), div (целочисленное деление), / (деление), and (логическое "и"), shl – сдвиг влево, shr – сдвиг вправо;
3) операции группы сложения: + (сложение), – (вычитание), or (логическое "или"), xor (исключающее "или");
4) операции отношения: = (равно), <> (не равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), in (проверка принадлежности множеству).
Пример:
F:=2*sin(x)+3/sqrt(1+x*x);
Операции целочисленной арифметики
Целочисленное деление (div) – возвращает целую часть частного, дробная часть отбрасывается. Результат целочисленного деления всегда равен нулю, если делимое меньше делителя.
Деление по модулю (mod) – возвращает остаток, полученный в результате целочисленного деления.
Пример:
11 div 5 = 2; 2 div 3=0;
11 mod 5=1; 14 mod 5=4
Таблица истинности для логических операций
Операция | Пример | Значение A | Значение B | Результат |
not Логическое отрицание | Not A | True False | False True | |
and Логическое умножение | A and B | True True False False | True False True False | True False False False |
or Логическое сложение | A or B | True True False False | True False True False | True True True False |
xor Исключающее или | A xor B | True True False False | True False True False | False True True False |
Сдвиговые операции (shl, shr):
|
|
i shl j – сдвиг содержимого i на j разрядов влево; освободившиеся младшие разряды заполняются нулями (сдвиг влево на 1 разряд эквивалентен умножения числа i на 2);
i shr j – сдвиг содержимого i на j разрядов вправо; освободившиеся старшие разряды заполняются нулями (сдвиг вправо на 1 разряд эквивалентен делению числа i на 2).