Арифметические операторы
Арифметические операции используются для выполнения математических вычислений. Они имеют числовые операнды и возвращают числовые результаты. Поскольку операторы 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;