Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
10
Добавлен:
17.03.2016
Размер:
180.22 Кб
Скачать

3.2. Формат с плавающей точкой

Для представления чисел в нормальной форме используются форматы разной длины. В общем случае в разрядной сетке форматов должны отводиться места для знака мантиссы (старший 31 разряд), знака порядка (предшествующий 30 разряд), значения порядка (например, 6 разрядов как в ЕС ЭВМ, с 29-го по 24-ый), в остальные 24 разряда (с 23-го по 0-ой) записывается мантисса числа. На рис. 4.4 представлена разрядная сетка в формате 4 байта.

31 30 29 24 23 1 0

Рис. 3.2. Примерный формат с плавающей точкой

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

В ЕС ЭВМ используются три формата: короткий Е (4 байта), длинный D (8 байт) и повышенной точности (16 байт). В СМ ЭВМ, а также в некоторых мини и микроЭВМ, например PDP-11, используются 2 формата: с обычной точностью (4 байта) и с двойной точностью (8 байт). Особенностями нормальной формы в ЕС и СМ ЭВМ являются следующие:

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

В ЕС ЭВМ во всех форматах 7 разрядов отводится под значение порядка и его знак. Следовательно, числовая ось порядков находится в диапазоне -26 ≤ P ≤ 26-1 или -64 ≤ P ≤ 63.

Смещенный порядок, называемый характеристикой, определяется смещением порядка на +26 = 6410 = 4016, т.е. характеристика Рх = Р + 4016 не имеет знака.

Характеристика может принимать значения в диапазоне 0 ≤ Рх ≤ 12710 = 7F16, и под ее значение отводятся 7 разрядов (27-1 = 127). Очевидно, если Рх = 4016,то Р = 0, если Рх < 4016 ,то порядок отрицательный (Р < 0), при Рх > 4016 — порядок положительный (Р > 0).

Максимальное число в формате Е: |A|max = (1 – 2-24 )×263 ≈ (210)6 ×23 ≈ (103)6×23 = 8×1018

В СМ ЭВМ в разрядной сетке под порядок отводится 8 двоичных разрядов (-27 ≤ P ≤ 27-1), под мантиссу — 23 (в формате двойной точности – 55 разрядов). Здесь также используется беззнаковый порядок, смещенный на 27=12810=2008=8016, который меняется в диапазоне 0 ≤ Pх ≤ 25510 = 3778 = FF16.

Максимальное число в СМ ЭВМ в формате обычной точности при Рmax =127 имеет значение:

|A|max = (1 – 2-23 )×2127 ≈ (210)12 ×27 ≈ (103)12×102 = 1038

Остальные форматы отличаются только разрядностью мантиссы.

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

Пример 3.17. Представим в разрядной сетке формата обычной точности два числа: А = 32008,510 = 7D08,8 и В = -32008,510 = -7D08,8.

Для этого найдем нормализованные мантиссы и смещенные порядки:

Для В ЕС ЭВМ: MA = 0,7D088, РхA =40 + 4 = 44;

MB = - 0,7D088, РxB = 40 + 4 = 44 (см. рис. 4.5).

Рис. 3.3. Представление чисел в формате Е

Для СМ ЭВМ: MA = 0,FA11, РA =80 + F = 8F;

MB = - 0,FA11, РA = 80 + F = 8F.

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

M’A = 0,F422, M’B = - 0,F422.

В IBM PC (с процессором Intel 80x86) используется 3 формата с плавающей точкой:

  • короткое вещественное (КВ, 4 байта, смещенный порядок занимает 8 бит, мантисса – 23 бита, single);

  • длинное вещественное (ДВ, 8 байтов, смещенный порядок занимает 11 бит, мантисса – 52 бита, double);

  • временное вещественное (ВВ, 10 байтов, смещенный порядок занимает 15 бит, мантисса – 64 бита, extended).

Особенностями нормальной формы в IBM PC являются следующие:

  1. Мантисса всегда записывается в виде: 1,m1m2… Т.е. целая часть всегда равна 1 и в форматах КВ и ДВ прямо в мантиссе не представляется, а учитывается неявно при выполнении операций. В формате ВВ старший бит мантиссы представляется явно.

  2. Порядок также записывается в смещенном виде, однако величина смещения в разных форматах разная:

  • в КВ – 27-1=12710=1778=7F16,

  • в ДВ – 210-1=102310=17778=3FF16,

  • в ВВ – 214-1=1638310=377778=3FFF16.

Отсюда величина смещенного порядка лежит в пределах:

  • в КВ – 0 ≤ Pх ≤ 25410 = 3768 = FE16,

  • в ДВ – 0 ≤ Pх ≤ 204610 = 37768 = 7FE16,

  • в ВВ – 0 ≤ Pх ≤ 3276610 = 777768 = 7FFE16.

Получается, что для представления вещественных чисел используется только часть значений порядка. Так например, в форматах КВ и ДВ значение порядка FF16 и 7FF16 используется для кодирования ±∞, при этом в поле мантиссы все нули (+∞, если бит знака 0, -∞, если бит знака 1) и для обозначения «не чисел» (NAN – not a number), когда в поле мантиссы не нулевое значение.

Формат КВ (как и формат обычной точности в СМ ЭВМ) позволяет представить максимальное число ≈1038, формат ДВ уже – ≈10308, а формат ВВ – ≈104932. Точность представления чисел приближенно соответствует:

  • в КВ – 7-8 значащих десятичных цифр,

  • в ДВ – 15-16 значащих десятичных цифр,

  • в ВВ – 19-20 значащих десятичных цифр.

Формат ВВ обеспечивает максимальный рабочий диапазон значений вещественных чисел и является основным: в нем выполняются все операции арифметическим сопроцессором.

Соседние файлы в папке Лекции по информатике