Вычисления в Delphi

Типы вычислений, выполняемых в Delphi для данных числового типа, можно разделить на несколько категорий, которые представлены ниже.

Операции присвоения в Delphi

Они используются для определения значения данных. В дополнение к непосредственному вводу значения в память, занятую переменной, используя ее адрес, стандартный метод присваивания заключается в использовании соответствующего оператора, как показано в примере:

Эту операцию следует интерпретировать как «Y становится значением для X» или «X принимает значение Y», в отличие от «X равно Y». Последняя интерпретация зарезервирована для оператора логического сравнения, выраженного тем же знаком равенства (без двоеточия, используемого в присваивании).

Логические операции: побитовые в Delphi

Они используются для обработки данных в виде набора битов. Каждый из битов рассматривается как независимая единица, и его изменение не влияет на другие биты данных.

Символ операции Краткое описание Пример
Not Битовый Отрицание x:=not $FFFFFF00; {Результат: x=255}
And Битовый Логический И x:=3 and 6; {Результат: x=2}
Or Битовый Логический Или x:=3 or 6; {Результат: x=7}
Xor Битовый Исключение x:=3 xor 6; {Результат: x=5}
Shl Битовый Сдвиг Влево x:=3 shl 2; {Результат: x=12}
Shr Битовый Сдвиг Вправо x:=12 shr 2; {Результат: x=3}

Логические операции: сравнения в Delphi

Они используются для проверки, выполняется ли данное условие или нет. Это особый вид логических операций, поскольку они работают с данными, но возвращают логические значения. Допускаются следующие действия сравнения:

Символ операции Краткое описание Пример
= Равно B:=(1=1); {TRUE}
< Меньше B:=(-1<1); {TRUE}
<= Меньше или Равно B:=(-1<=1); {TRUE}
> Больше B:=(1>-1); {TRUE}
> = Больше или Равно B:=(1>=-1); {TRUE}

Простые арифметические операции в Delphi

Они используются для манипулирования данными как определенным значением с использованием языковых операторов.

Символ операции Краткое описание Пример
+ Прибавление x:=1+2.3; {Результат: x=3.3}
Вычитание x:=1-3.3; {Результат: x=-2.3}
* Умножение x:=2*3.4; {Результат: x=6.8}
Div Целочисленное деление x:=5 div 3; {Результат: x=1}
Mod Остаток от целочисленного деления x:=18 mod 4; {Результат: x=2}
/ Деление x:=7 / 2; {Результат: x=3.5}

Арифметические функции в Delphi

Они используются для обработки данных как определенного значения с использованием функций, реализованных в библиотеках. Основные операции перечислены ниже:

 

Функция Краткое описание Пример записи
Inc Увеличение (увеличение на 1 или на N) Inc(X); Inc(X,N);
Dec Уменьшение (уменьшение на 1 или на N) Dec(X); Dec(X,N);
Abs Абсолютное значение Abs(X);
Int Целая часть действительного числа Int(X);
Frac Дробная часть действительного числа Frac(X);
Sqr Возвращает квадрат числа Sqr(X);
Sqrt Возвращает квадратный корень числа Sqrt(X);
Power Возводит в степень Power(X, Y);
Ln Натуральный логарифм Ln(X);
LnXP1 Натуральный логарифм для X + 1 LnXP1(X);
Log2 Двоичный логарифм Log2(X);
Log10 Десятичный логарифм Log10(X);
LogN Логарифм от X по основанию B LogN(B, X);
Exp Экспонента Exp(X);
Ldexp X*2P Ldexp(X,P);
Hi Старший байт Hi(X);
Lo Младший байт Lo(X);
Sign Знак. Значение зависит от знака аргумента (-1 для X <0, 0 для X = 0, 1 для X> 0) Sign(X);
Round Математическое округление Round(X);
Trunc Преобразование действительного числа в целое число. Возвращает целую часть. Trunc(X);
Floor Округление до наибольшего целого, меньшего или равного аргумента Floor(X);
Ceil Округление до наименьшего целого Ceil(X);
Max Из двух приведенных чисел возвращается большее Max(X, Y);
Min Из двух приведенных чисел возвращает меньшее Min(X, Y);
MaxValue Из массива чисел возвращает наибольшее MaxValue (массив);
MinValue Из массива чисел возвращает наименьшее MinValue (массив);
MaxIntValue Из массива целых чисел возвращает наибольшее MaxIntValue (массив);
MinIntValue Из числа целых чисел возвращает наименьшее MinIntValue (массив);

Сложные операции в Delphi

Они используются для вычисления выражений посредством множества действий, выполняемых со многими данными. Примеры ниже:

Приоритеты операций в Delphi

При проведении таких расчетов, как приведённых в листинге выше, следует помнить о приоритетах действий, действующих в Delphi. Они представлены в таблице ниже:

Приоритет Действие
Ноль (самый высокий) Функциональные операции
Дополнительный Скобки, объединяющие действия: ()
Первый @, Not
Второй *, /, Div, Mod, And, Shl, Shr, As
Третий +, -, Or, Xor
Четвёртый (самый низкий) =, <, <, >, <=, >=, In, Is

Дополнительно по Power в Delphi.

Фактически, функция Power делает именно такой расчет, прежде чем проверяются дополнительные условия.