Тип integer

Тип данных INTEGER упрощает задачи программирования связанные с вычислениями. Доступны все арифметические операции. Арифметика с использованим операндов типа INTEGER работает быстро, потому что практически все компьютеры имеют специальную поддержку этого типа данных. Однако платой за скорость является ограничение размера целочисленных данных.

Тип данных INTEGER имеет значения, которые могут быть положительными и отрицательными целыми числами и нулем. Любая Паскаль-машина ограничивает целые значения до подмножества целых чисел:

{-MAXINT, …, -2, -1, 0, 1, 2, …, MAXINT}

MAXINT – предопределенная целочисленная константа (объчно степень двойки) соответствующая наибольшему целому значению котрое может быть представлено на данной Паскаль-машине. Переменным объявленным с типом INTEGER может быть присвоено одно из этих значений.

VAR

I,J: INTEGER;

Операторами для типа INTEGER являются операторы сравнения и:

+ - * DIV MOD

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

Добавление, вычитание и умножение могут вызывать переполнение ( см. ниже), а DIV и MOD – не могут. Операторы + и – могут использоваться как унарные префиксы и как бинарные инфиксные операторы. Таким образом, выражение J – I может быть записано как –I + J. Деление с остатком обычно округляет до нуля как в следующем примере:

Операция Значение
5 DIV 3 -7 DIV 3 10 DIV –3 -5 DIV -2 -2 -3

В выражении I DIV J результат неопределен, если значение J нуль, результат равен нулю, если модуль I меньше модуля J. Иначе знак результата положительняй, если I и J имеют тот же знак и отрицательный, если у I и J знак различный.

Результат выражения I MOD J неопределен, если значение J меньше или равно нулю, иначе он равен остатку от деления I на J. Например:

Операция Значение
5 MOD 3 -7 MOD 3 -1

Остаток от деления определяется через деление с остатком, например для –7 MOD 3:

-7 – (-7 DIV 3*3)

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

Таким образом, значение предыдущего выражения будет:

Выражение Вычисление
-7 – (-7 DIV 3 * 3) -7 – (-2*3) -7 – (-6) -1 начинаем с выражения в скобках DIV имеет тот же приоритет что и * Вычисляем выражение в скобках

Информация о целочисленных операторах обобщена в таблице ниже.

Оператор Domain Range Ассоциативность Приоритет
унарный – + * DIV MOD + – сравнения integer integer x integer integer x integer integer x integer integer integer integer boolean правая левая левая нет наивысший низший

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: