Унарные арифметические операции
Таблица 6.3 ------------T--------------T------------------T----------------- ¦ Операция ¦ Действие ¦ Тип операнда ¦ Тип результата ¦ +-----------+--------------+------------------+-----------------+ ¦ + ¦ Сохранение ¦ Целый ¦ Целый ¦ ¦ ¦ знака ¦ Вещественный ¦ Вещественный ¦ +-----------+--------------+------------------+-----------------+ ¦ - ¦ Отрицание ¦ Целый ¦ Целый ¦ ¦ ¦ знака ¦ Вещественный ¦ Вещественный ¦ L-----------+--------------+------------------+------------------
Любая операция, включающая операнд, тип которого является подмножеством порядкового типа, обрабатывается также, как если бы он был порядкового типа.
Если оба операнда в операциях +, -, *, div или моd являются операндами целого типа, то тип результата будет таким же, как об- щий тип обоих операндов. (Определение общего типа см. в разделе "Целый тип" в Главе 3).
Если один или более операндов в операциях +, -, или * имеют вещественный тип, то тип результата будет вещественным, если ис- пользована директива компилятора {$N-}, или типом с повышенной точностью при использовании директивы компилятора {$N+}.
Если при использовании операции сохранения знака или опера- ции отрицания знака операнд имеет целый тип, то результат будет тоже целого типа. Если операнд вещественного типа, то тип резуль- тата будет вещественным или типом с повышенной точностью (extended).
Значение выражения х/у всегда будет вещественного типа (real) или с повышенной точностью (extended), независимо от типов операндов. Если у равно 0, то результат будет ошибочным.
Значение выражение i div j представляет собой математическое частное от i/j, округленное в меньшую сторону до значения целого типа. Если j равно 0, результат будет ошибочным.
Операция mod возвращает остаток, полученный путем деления двух ее операндов, то есть:
i mod j = i - (i div j) * j
Знак результата операции mod будет тем же, что и знак i. Ес- ли j равно нулю, то результатом будет ошибка.