Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арифметика раздел 5.doc
Скачиваний:
7
Добавлен:
14.08.2019
Размер:
975.36 Кб
Скачать

5.2 Сведения из практики выбора формата

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

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

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

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

В прошлом, стремясь найти компромиссное решение, конструкторы универсальных ЦВМ для записи двоичных действительных чисел применяли различные форматы. В 60-х годах стали применять два формата: основной 32 бита (одинарной точности, рис.5-5a) и дополнительный 64 бита (двойной точности, рис.5-5b). Эти форматы называют также, словом и словом двойной длинны.

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

Основной формат обеспечивал представление чисел со знаком с точностью двоичных разряда (6 десятичных разрядов), что вполне удовлетворяет требования к точности при решении многих задач. Число в этом формате занимает 4 байта в памяти ЦВМ, что позволяет экономно расходовать ее для хранения чисел.

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

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

Обычно конструкторы фиксировали точку в мантиссе после или перед разрядом целого и тем самым выбирали индекс ее старшего разряда или . Параметры форматов при задании старшего разряда мантиссы по умолчанию ( =24 и =53), и приведены в табл.5.3 варианты A и B.

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

Таблица 5.3

Вариант

A

r=32; l=24;

B

r=64; l=53;

i = 0

i = –1

i = 0

i = –1

Максимальная мантисса

2(1-2-24) 2

1-2-24 1

2(1-2-53) 2

1-2-53 1

Минимальная мантисса

Нормализованная

1

1/2

1

1/2

Минимальная мантисса

ненормализованная

2-23

2-24

2-52

2-53

Максимальный порядок

+127

+1023

Минимальный порядок

-127

-1023

Верхняя граница

2+128(1-2-24)

2+127(1-2-24)

2+1024(1-2-53)

2+1023(1-2-53)

Нижняя граница чисел

нормализованных

2-127

2-128

2-1023

2-1024

Нижняя граница чисел

ненормализованных

2-150

2-151

2-1075

2-1076

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

Начиная с 1985 года, вступил в силу стандарт IEEE 754 «Двоичная арифметика с плавающей точкой», что упростило задачу выбора формата и разработки двоичной арифметики с плавающей точкой при проектировании универсальных ЦВМ, но нисколько не ограничило свободу выбора способов представления чисел и арифметики специализированных ЦВМ.

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

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