Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Алгоритмы и структуры данных. Новая версия для Оберона

1.3. Стандартные примитивные типы

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

INTEGER, REAL, BOOLEAN, CHAR, SET

1.3.1. Тип INTEGER

Тип INTEGER представляет подмножество целых чисел, диапазон значений которых может меняться от одной вычислительной системы к другой. Если компьютер использует п битов для представления целых чисел в дополнительном коде, то допустимые значения х должны удовлетворять условию -2nl < х < 2П_|. Предполагается, что все операции с данными этого типа являются точными и соответствуют обычным законам арифметики и что вычисление будет прервано, если результат лежит за пределами указанного диапазона. Такое событие называют переполнением. Стандартные операции - четыре основные арифметические операции: сложение (+), вычитание (-), умножение (*) и деление (/, DIV).

Косая черта будет обозначать деление, имеющее результатом значение типа REAL, а операция DIV будет обозначать целочисленное деление, имеющее результатом значение типа INTEGER. Если мы определим частное q = m DIV п и остаток г = m MOD n, то должны выполняться следующие соотношения (предполагается, что п > 0):

Примеры

  • 31 DIV 10 = 3 31 MOD 10=1
  • -31 DIV 10 = -4 -31 MOD 10 = 9

Известно, что деление на 10П может быть осуществлено простым сдвигом десятичных знаков на п позиций вправо с отбрасыванием избыточных цифр справа. Аналогичный метод применим, если числа представлены в двоичной, а не десятичной нотации. Если используется дополнительный код (как это имеет место практически во всех современных компьютерах), то сдвиги обеспечивают деление в соответствии с данным выше определением операции DIV. Поэтому в компиляторе нетрудно реализовать операцию вида m DIV 2П (или m MOD 2П) с помощью быстрой операции сдвига (или с помощью маски).

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы