Руководство по языку B.Pascal 7

       

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


Таблица 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 равно нулю, то результатом будет ошибка.



Содержание раздела