Арифметические основы ЦВМ
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: шпоры по истории россии, анализ темы курсовой работы
| Добавил(а) на сайт: Angel.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11
Вначале рассмотрим пример, в котором положим, что мы имеем дело с десятичной (а не двоичной) системой счисления, и что для записи абсолютной величины числа (без учета его знака) в нашем распоряжении имеется шесть разрядов.
Тогда максимальное (по абсолютной величине) целое будет равно
999999 или иначе 10**6-1. А поскольку в разрядной сетке машины для
записи знака числа всегда предусматривается один разряд, то для нашего
случая диапазон представимых чисел составит все целые числа, начиная от
-999999 до +999999, а количество различных целых - 2*10**6-1.
В двоичных ЭВМ их разрядность определяется числом разрядов в слове.
Так, если разрядность некоторой ЭВМ равна 16, то один разряд отводится
для кодирования знака числа, а остальные 15 - для записи его величины.
При этом максимальное по модулю целое значение в машинном слове будет
равно 2**15-1, что составит 32767. (Посмотрите диапазон целых (integer)
чисел в языке программирования Паскаль для ПЭВМ типа IMB PC).
В общем случае, если разрядность машины составляет N битов. Тогда максимальное по абсолютной величине целое число, которое можно в ней записать, будет равно 2**(N-1)-1.
Особенности арифметических операций над числами
Поскольку (если положение запятой фиксировано после последней цифры числа) числа с фиксированной запятой - целые, они представляются в машине точно. А потому операции сложения, вычитания и умножения корректны всегда: как операнды, так и результат - целые числа.
Единственной особенностью, о которой необходимо упомянуть, является
ситуация, которая носит название “переполнение разрядной сетки”
(FixedOverflow - переполнение с фиксированной запятой) и которая возникает, когда результат умножения превышает максимально возможное для данной
разрядности значение. Эта ситуация считается в ЭВМ исключительной. При ее
возникновении записать получившееся значение невозможно. В этом случае
устанавливается в “1” специальный флаг переполнения, старший бит
результата (бит переноса из старшего разряда слова) теряется, а в качестве
результата выдается искаженное число. Описываемая ситуация не считается
критической, и после окончания данной операции вычисления продолжаются.
Таким образом, программист сам должен позаботиться о корректной реакции на
возникновение переполнения, используя для обнаружения указанной
ситуации содержимое флага переполнения.
Иначе обстоит дело с операцией деления. При делении целого числа на другое целое результат совсем не обязательно должен быть целым. А поскольку и результат должен быть представлен целым числом, возникает коллизия, которую проиллюстрируем примером:
5 / 2 = 2
5 / 3 = 1
5 / 4 = 1
5 / 5 = 1
5 / 6 = 0
И в отличие от умножения, с позиций ЭВМ никаких ошибок при этом нет, и никакие флаги не устанавливаются, а указанные особенности деления целых
должны учитываться программистом самостоятельно. В ряде языков
программирования эти особенности отражаются набором допустимых
арифметических операций. Так, например, в языке Паскаль для целых
(integer) определены две операции:
div - целочисленное деление, при котором в качестве результата представляется целая часть частного, mod - остаток от деления целых (деление по модулю), при котором в качестве результата представляется целый остаток от деления, по абсолютной величине меньший делителя.
Примеры:
5 div 3 = 1
5 mod 3 = 2
1.5.2. Числа с плавающей запятой
В форме с плавающей запятой число представляется двумя компонентами : мантиссой и порядком. Мантисса используется для записи цифр числа, а порядок - для указания положения запятой.
Разрядная сетка машины в этом случае делится на несколько частей:
один разряд - для кодирования знака числа (это всегда самый старший, левый, разряд слова);
M разрядов - для записи мантиссы;
Р разрядов - для записи порядка (с учетом его знака).
Местоположение запятой при этом тоже строго фиксируется: считается, что мантисса всегда представляется как число, меньшее единицы, но такое, в
котором первая цифра после запятой для всех абсолютно чисел отлична от нуля
(единственное исключение составляет число 0). Такая форма представления
мантиссы называется нормализованной. Иначе говорят, что мантисса
нормализована (приведена к виду: 1 < M
Скачали данный реферат: Паллада, Avtonom, Ягодин, Rjasnoj, Островерх, Иосиф, Язев.
Последние просмотренные рефераты на тему: заболевания реферат, ответы школа, бесплатные рефераты без регистрации, банк курсовых работ бесплатно.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11