Опубликован: 30.03.2005 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 7:

Способы представления чисел в ЭВМ

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Аннотация: В лекции представлены способы представления чисел в ЭВМ: фиксированная и плавающая запятая. Описаны прямой, дополнительный и обратный коды. Дано сложение чисел в дополнительном и обратном кодах.

Как мы уже знаем, применяются два основных способа представления чисел - с фиксированной и плавающей запятой. Большинство универсальных ЭВМ работает с числами, представленными с плавающей запятой, а большинство специализированных - с фиксированной запятой.

Однако целый ряд машин работает с числами в этих двух форматах.

В общем виде способ представления чисел сильно влияет на характер программирования. Так, программирование для ЭВМ, работающих в системе с фиксированной запятой, значительно усложняется, поскольку помимо алгоритмических трудностей этот процесс требует ещё отслеживания положения запятой.

Фиксированная запятая

Оговоримся, что разрядная сетка машины имеет постоянное число разрядов - n.

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

|X| < 1

Введём две характеристики чисел: диапазон изменения и точность представления.

Диапазон изменения характеризуется теми пределами, в которых могут находиться числа, с которыми оперирует машина.


Отличное от нуля самое малое число:


Таким образом, диапазон чисел, с которыми работает ЭВМ, есть:

|X|min <= |X| <= |X|max

2-n <= |X| <= 1 - 2-n

Иными словами, числа, которые выходят за диапазон изменения, в ЭВМ не могут быть представлены точно. Если

|X| < |X|min = 2-n,

то такое число воспринимается как нуль.

Если:

|X| > |X|max = 1- 2-n,

то такое число воспринимается как бесконечно большое. Этим двум случаям соответствуют понятия машинного нуля и машинной бесконечности.

При оптимальном округлении абсолютная ошибка:

|\Delta X| \le  0,5*2^{-n}

Минимальная относительная ошибка:


|\delta x|_{min} = \frac{|\Delta X|}{|X|_{max}}=-\frac{0,5 \times 2^{-n}}{1-2^{-n}} = \approx  2^{-(n+1)}

так как 1-2^{-n} \cong 1 при большом " n "

Максимальная относительная ошибка:


|\delta x|_{max} = \frac{|\Delta X|}{|X|_{min}}=-\frac{0,5 \times 2^{-n}}{2^{-n}} = 0,5

Ошибка представления числа зависит от величины самого числа и способа округления:

2^{-(n+1)} \Longleftarrow |\delta X| \Longleftarrow 0,5

Заметим, что для малых чисел ошибка может достигать большой величины.

< Лекция 6 || Лекция 7: 12345 || Лекция 8 >
Жаксылык Несипов
Жаксылык Несипов
Людмила Долгих
Людмила Долгих

Здравствуйте. В первой лекции курса "Логические и арифметические основы и принципы работы ЭВМу вас приведена классическая структурная схема ЭВМ. Если можно уточните, а как в классической архитектуре могла реализоваться прямая работа устройств ввода-вывода с оперативной памятью?  Если я правильно понимаю - это режим прямого доступа к памяти, в классической архитектуре он не предусмотрен.

Семён Огай
Семён Огай
Казахстан, Алматы
Виталий Лусников
Виталий Лусников
Россия, Киров, ВятГГУ, 2001