Справочное руководство по языку Ада-83


Операции и вычисление выражения - часть 9


Деление нацело удовлетворяет следующему тождеству:

(-А)/В = -(А/В) = А/(-В)

Результат операции вычета по модулю таков, что (А

mod

В) имеет знак значения В и абсолютное значение, меньшее абсолютного значения В, и существует целое значение N такое, что должно удовлетворяться следующее соотношение:

А = В . N + (А

mod

В)

Для каждого фиксированного типа предопределены операции умножения и деления на операнд предопределенного типа INTEGER.

Знак операции

Операция

Тип левого операнда

Тип правого операнда

Тип результата

*

Умножение

Любой фиксированный ТИП

INTEGER

Тип левого операнда

INTEGER

Любой фиксированный ТИП

Тип правого операнда

/

Деление

Любой фиксированный ТИП

INTEGER

Тип левого операнда

Умножение значения фиксированного типа на целое эквивалентно повторению операции сложения. Деление значения фиксированного типа на целое является приближенным и не меняет типа (см. 4.5.7).

Две специальные операции умножения и деления, применимые к операндам любых фиксированных типов, описаны в предопределенном пакете STANDARD (они не могут быть переименованы или даны в качестве фактических параметров настройки).

Знак операции

Операция

*

Тип левого операнда

Тип правого операнда

Тип результата

*

Умножение

Любой фиксированный ТИП

Любой фиксированный ТИП

Универсальный- фиксированный

ТИП

/

Деление

Любой фиксированный ТИП

Любой фиксированный ТИП

Универсальный - фиксированный

ТИП

Операнды умножения могут быть одного и того же или различных фиксированных типов, а тип результата — анонимный предопределенный

универсальный-фиксированный

тип, дельта которого произвольно мала. Результат любого такого умножения всегда должен быть явно преобразован в значение некоторого числового типа. Это обеспечивает явное управление точностью вычислений. То же относится к делению значения фиксированного типа на значение фиксированного типа.




Начало  Назад  Вперед