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

Объявление

ОператорОперацияТип операндовТип результата
+Подтверждение знакаInteger, RealInteger, Real
-Смена знакаInteger, RealInteger, Real

Замечания

Любой операнд с типом поддиапазона или порядковым, обрабатывается, как будто он имеет перечислимый тип.

Если оба операнда операций +, -, *, Div или Mod имеют тип Integer, то результат имеет общий тип двух операндов. Если один или оба операнда операций +, - или * имеют тип Real, то результат имеет тип Real в режиме {$N-} или Extended в режиме {$N+}.

Если операнд операторов + или - имеет целочисленный тип, то результат тоже имеет целочисленный тип. Если операнд имеет тип Real, то результат имеет тип Real или Extended.

Значение X/Y всегда имеет тип Real или Extended независимо от типов операндов. Если значение Y равно нулю, то происходит ошибка деления на нуль. Значение I Div J - математическое частное от I / J, округленное до значения целочисленного типа. Если значение J равно нулю, то происходит ошибка деления на нуль.

Оператор Mod возвращает остаток, полученный от деления двух операндов:

I Mod J = I - (I Div J) * J

Знак результата Mod - такой же, как и знак I. Если значение J равно нулю, то происходит ошибка деления на нуль.