Форматы представления чисел с фиксированной

И плавающей запятой

 

ЭВМ оперирует с числами, содержащими конечное число разрядов. Как понятно из рассмотренного ранее материала, количество разрядов ограничено длиной разрядной сетки машины.

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

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

Количество двоичных разрядов и положение запятой в разрядной сетке определяют такие важные характеристики ЭВМ, как точность и диапазон представляемых чисел.

На практике используются два способа расположения фиксированной запятой: перед старшим разрядом или после младшего разряда (соответственно, рисунок 2, а и 2, б).

 

знак числа 2-1 2-2 . . . 2-n+1 2-n

а)

 

знак числа 2n-1 2n-2 . . . 21 20

б)

 

Рисунок 2 – Разрядная сетка ЭВМ при естественной форме записи числа

 

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

 

½Х½мин = 2-n.

 

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

 

½Х½макс = 2n – 1,

½Х½мин = 1.

 

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

Недостатком формы с фиксированной запятой является малый диапа­зон представления чисел. Минимальное по модулю число, представляемое в ЭВМ в данном случае, равно 2-n, а максимальное – (1 - 2-n) (или, приближенно 0 £ | Х | < 1).

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

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

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

 

Х = M КL,

где M – мантисса числа (записанная в виде правильной дроби);

К – основание системы счисления;

L – порядок числа, определяющий положение запятой в числе.

Мантисса и порядок задаются в системе счисления с основанием К, знак числа совпадает со знаком мантиссы.

 

На рисунке 3 показана разрядная сетка машины, используемая для записи чисел в формате с плавающей запятой.

 

знак L 2n-1 . . . 21 20 знак М 2-1 2-2 . . . 2-m+1 2-m

 

 

Рисунок 3 – Разрядная сетка ЭВМ с плавающей запятой

 

Если порядок числа выбран так, что в старшем разряде мантиссы стоит 1, то число называется нормализованным.

Диапазон представления чисел с плавающей запятой значительно больше диапазона представления чисел с фиксированной запятой. Однако быстродействие ЭВМ при обработке чисел с плавающей запятой гораздо ни­же, чем при обработке чисел с фиксированной запятой, а АЛУ – более сложно в реализации.

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

 

 

В некоторых ЭВМ для упрощения операций над порядками используют форму с плавающей запятой с так называемым «смещенным порядком». В этом случае порядки – всегда положительные целые числа. Разрядная сетка ЭВМ будет иметь вид (рисунок 4):

 

знак М 2n-1 . . . 21 20 2-1 2-2 . . . 2-m+1 2-m

 

Рисунок 4

 

На рисунке 4 ячейки с положительными значениями показателя степени отведены для записи смещенного порядка числа, а с отрицательными – для записи мантиссы. Смещенный порядок представляет собой сумму двух чисел – самого порядка и смещения. Смещение выбирается таким образом, чтобы минимальному значению порядка соответствовал 0. Например, если порядок может принимать значения в диапазоне от 2-1023 до 21023, то смещение равно 1023(10). Число – 312,3125(10) = 100111000,0101(2), записанное в разрядную сетку ЭВМ, в этом случае будет иметь порядок:

 

9 + 1023 = 1032(10) = 10000001000(2).

 

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