Арифметические операторы

Арифметические операции используются для выполнения математических вычислений. Они имеют числовые операнды и возвращают числовые результаты. Поскольку операторы char технически - это байты bytes, они могут также использоваться как беззнаковые операнды в арифметических операциях.

Все арифметические операторы связывают слева направо.

Оператор Операция Операнд Результат
+ сложение byte, short, word, integer, longint, dword, real byte, short, word, integer, longint, dword, real
- вычитание byte, short, word, integer, longint, dword, real byte, short, word, integer, longint, dword, real
* умножение byte, short, word, integer, longint, dword, real word, integer, longint, dword, real
/ деление с плавающей точкой byte, short, word, integer, longint, dword, real real
div деление с округлением до ближайшего целого byte, short, word, integer, longint, dword byte, short, word, integer, longint, dword
mod деление по модулю, возвращает остаточную часть целочисленного деления (не может использоваться с плавающими точками) byte, short, word, integer, longint, dword byte, short, word, integer, longint, dword

Деление на ноль

Если 0 (ноль) используется явно как второй операнд (т. е. x div 0), компилятор сообщит об ошибке и не будет генерировать код.
Но в случае неявного деления на ноль: x div y, где y равно 0 (ноль), результат будет максимальным целым числом (т.е. 255, если результат является байтовым типом, 65536, если результатом является тип слова и т. д. ).

Унарные арифмитические операции

Оператор - может использоваться как префикс унарного оператора для изменения знака знакового значения. Унарный префикс-оператор + может использоваться, но он не влияет на данные.

Например:

b := -a;