double arrow

Тема 5. Формы представления чисел в ЭВС и их кодирование


РАЗДЕЛ 2. АРИФМЕТИЧЕСКИЕ ОСНОВЫ ЭВС

1. Представление чисел с фиксированной запятой

В ЭВС числа и нечисловая информация представляются совокупностью двоичных разрядов. Совокупность двоичных разрядов, предназначенных для представления (записи) данных, называется разрядной сеткой.

В ЭВС применяют две формы представления чисел: с фиксированной запятой (точкой) и с плавающей запятой (точкой). Эти формы называют также соответственно естественной и нормальной.

При естественной форме число записывается в естественном натуральном виде с выделением в общем случае следующих компонент числа: знака, запятой и цифр числа. Для сокращения длины разрядной сетки и упрощения обработки данных в конкретных ЭВС положение запятой фиксируется схемотехнически, т.е. аппаратными средствами. Такая форма представления числа называется формой с фиксированной запятой. Такое название связано с тем, что запятая, отделяющая дробную часть от целой, фиксируется в определенном месте относительно разрядов числа. При этом в слове данных сохраняются только два структурных компонента: один знаковый разряд и n разрядов для представления цифр числа. Для кода знака обычно выделяется крайний слева разряд. В знаковом разряде 1 соответствует минусу, а 0 – плюсу. Обычно положение запятой фиксируется либо после младшего (0 разряда), либо перед старшим, (n-1) разрядом. В первом случае числа представлены как целые, во втором – как правильные дроби. При этом запятая никак не обозначается, но в алгоритмах выполнения операций (умножение, деление) ее место учтено заранее одним из указанных способов.




В случае целых чисел минимальным по модулю отличным от нуля числом будет Аmin = 00…01, = 1, а максимальным, которому соответствуют единицы во всех n разрядах, – Amах = 11…11, = 2n - 1, т. е. диапазон представления чисел в этом случае 1 ≤ |A| ≤ 2n - 1.

n n-1 n-2  
± an-1 an-2 a1 a0 ,
  2n-1 2n-2 21 20  

В случае правильных дробей минимальным по модулю отличным от нуля числом будет Аmin= ,00…01 = 2-n, а максимальным – Аmax = ,11…11 = 1 - 2-n, т. е. диапазон представления чисел в этом случае 2-n ≤ |A| ≤ 1 - 2-n.

n   n-1 n-2
±   a-1 a-2 a-(n-1) a-n
  , 2-1 2-2 2-(n-1) 2-n

Достоинство фиксированной запятой: имеется возможность построитьсравнительно несложные арифметические устройства с высоким быстродействием.

2. Представление чисел с плавающей запятой

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

В общем случае нормальная форма записи числа может быть представлена в виде , где M – мантисса числа; r – основание системы счисления; p – порядок числа. Мантисса |М| < 1, т.е. является правильной дробью, а порядок р – целое число.



Порядок (с учетом знака) показывает, на сколько разрядов и в какую сторону сдвинута запятая при замене формы записи числа с естественной на нормальную. Положение запятой в мантиссе M определяется величиной порядка p. С изменением порядка в большую или меньшую сторону запятая перемещается влево или вправо, т. е. «плавает» в изображении числа. Поэтому такую форму записи называют представлением чисел с плавающей запятой.

Формат числа с плавающей запятой включает: один разряд для представления знака порядка, q разрядов для представления порядка р, один разряд для представления знака мантиссы, т разрядов для представления мантиссы М.

n n-1 n-2 m+2 m+1 m   m-1 m-2
± 2q-1 2q-2 21 20 ±   2-1 2-2 2-(m-1) 2-m
знак порядка порядок p q разрядов знак мантиссы , мантисса M m разрядов

В условиях ограничения разрядной сетки максимально возможную точность представления чисел имеет нормальная форма записи числа, при которой старшая цифра мантиссы является значащей, т.е. 1/r ≤ |M| < 1. Такие числа называются нормализованными. Для двоичной системы счисления r = 2 и 0,5 ≤ |M| < 1, т.е. старший разряд мантиссы должен быть равен единице. Например: 0,10101100·2011 – нормализованное число, а 0,00101011·2101 – ненормализованное. Нормализованное представление чисел с плавающей запятой позволяет сохранить в мантиссе большее число разрядов с единицами, что повышает точность вычислений.



При выполнении действий над числами с плавающей запятой определенные операции выполняются как над мантиссами, так и над порядками. Для упрощения операций над порядками их сводят к действиям над целыми положительными числами (числами без знака), применяя представление чисел с плавающей запятой со смещенным порядком. В случае представления числа с плавающей запятой со смещенным порядком к его порядку p прибавляется целое число – смещение 2q, где q – число двоичных разрядов, используемых для представления модуля порядка, pсм = p + 2q. Смещенный порядок будет всегда положительным. Для его представления необходимо такое же число разрядов, как и для модуля и знака порядка – q+1 разрядов. Важная особенность смещенных порядков состоит в том, что если для порядков p1 и p2, представляющих собой целые числа со знаками, выполняется соотношение p1 > p2, то и для положительных целых чисел, соответствующих смещенных порядков pсм1 и pсм2, также будет выполняться соотношение pсм1 > pсм2.

Для устранения неоднозначности смещенные порядки называют характеристиками.

Наименьшее по модулю число с плавающей запятой с ненулевой нормализованной мантиссой может быть представлено единицей в старшем разряде с весом 2-1 и наибольшим по абсолютной величине отрицательным порядком:

,

а наибольшее по модулю число с плавающей запятой

.

Сравним диапазон представления чисел с фиксированной и плавающей запятой. Пусть, например, n = 31 (разрядная сетка состоит из 32 разрядов). В этом случае максимальное целое число с фиксированной запятой по абсолютному значению равно 231 - 1=2 147 483 647.

Для числа с плавающей запятой (n = 31, m = 24, q = 6 и два разряда используются для кодирования знаков мантиссы и порядка) максимальное значение числа равно (1 – 2-24) 264 – 1 ≈ 1× 263 ≈ 1019.

Из сравнения этих двух значений вытекает, что при одинаковом числе разрядов n форма с плавающей запятой обеспечивает более широкий диапазон представления чисел.

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

3. Погрешности представления чисел

Представление числовой информации в ЭВС, как правило, влечет за собой появление погрешностей (ошибок), величина которых зависит от формы представления чисел и от длины разрядной сетки.

Абсолютная погрешность представления – разность между истинным значением исходной величины А и ее значением, полученным из машинного изображения АМ, т.е. .

Относительная погрешность представления – величина .

Все числа целого типа переводятся из одной системы счисления в другую точно (без погрешностей). Операции сложения, вычитания и умножения чисел целого типа также выполняются точно. Результат деления чисел целого типа дает целое частное и целый остаток.

Правильные дроби переводятся из одной системы счисления в другую не точно – с погрешностью. Некоторая величина в одной системе счисления может иметь конечное значение, а в другой системе счисления становится бесконечной величиной, например, дробь 1/10 имеет конечное десятичное представление, но, будучи переведена в двоичную систему счисления, становится бесконечной дробью 0,0001100110011... Однако эту погрешность нетрудно оценить, если известны истинные значения исходных чисел.

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

Абсолютная погрешность перевода десятичной дроби в систему с основанием r при использовании усечения (младшие цифры справа отбрасываются) определяется следующим выражением

.

Для двоичной системы счисления r = 2, и максимальное значение этой погрешности получается при ai = 1

,

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

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

.

Для представления чисел в форме с фиксированной запятой абсолютное значение машинного изображения правильной дроби находится в диапазоне

2-n ≤ |A|Ф ≤ 1 - 2-n.

Следовательно, относительная погрешность представления для максимального значения числа равна

.

В современных ЭВС, как правило, n = 16…64, поэтому , откуда

.

Аналогично, для минимального значения:

,

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

Все числа с плавающей запятой представляют некоторые данные приближенно.

Для представления чисел в форме с плавающей запятой абсолютное значение мантиссы находится в диапазоне

0,5 ≤ |M| < 1 - 2-n,

поэтому ее погрешности определяются так же, как и для чисел с фиксированной запятой.

Для нахождения погрешностей представления чисел в форме с плавающей запятой величину этой погрешности надо умножить на величину :

,

,

.

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

4. Кодирование двоичных чисел со знаком

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







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