Точность выполнения операций. Дополнительные разряды



 

Перед началом выполнения любых арифметических операций операнды загружаются в регистры АЛУ. Регистры, предназначенные для работы с мантиссами, могут иметь большую разрядность, чем поле мантиссы, предусмотренное форматом представления, плюс один неявно заданный старший разряд. Как правило, дополнительные разряды размещаются справа, т.е. имеют вес, меньший веса самого младшего разряда представления. При загрузке регистров эти разряды заполняются кодом 0. Ниже представлены примеры, которые помогут вам понять смысл использования этих дополнительных разрядов. Будем считать, что для представления чисел используется формат, регламентированный стандартом IEEE — мантисса имеет длину 24 разряда, включая неявный старший разряд слева от разделительной точки. При вычитании меньшего числа из большего мантисса меньшего числа должна быть сдвинута на один разряд вправо для того, чтобы выровнять порядки операндов.

Округление.

Результат любой операции над мантиссами операндов, как правило, формируется в регистре АЛУ, имеющем большую разрядность, чем предусмотрено форматом хранения. Поэтому при сохранении результата необходимо тем или иным способом выполнить его округление. Стандартом IEEE предусматривается четыре альтернативных подхода к выполнению округления:

• округление до ближайшего числа, которое можно представить в используемом формате;

• округление до +;

• округление до -;

• округление до нуля.

Рассмотрим эти способы более детально. Способ округления до ближайшего числа определяется в стандарте следующим образом. При сохранении результата, имеющего теоретически бесконечную точность, необходимо взять ближайшее к результату число, которое можно представить в используемом формате хранения. Если существуют два числа, одинаково близких к результату, выбирается то из них, у которого младший разряд равен 0. Лучший результат дает метод несмещенной ошибки. Один из вариантов несмещенного округления — после выполнения операции, результат которой соответствует этому особому случаю, случайным образом выбирать округление до большего или до меньшего. Тогда в среднем результат всей процедуры будет несмещенным. Аргумент против этого подхода состоит в том, что он не дает возможности получить повторяющиеся результаты вычислений одной и той же процедуры с одними и теми же исходными данными (т.е. вычислительная процедура становится недетерминированной). Стандарт IEEE регламентирует такой подход, который заставляет сохранять в том случае четный результат:

Если результат вычислений в равной степени отличается от большего и меньшего числа, представимого в данном формате, значение округляется до большего, если младший представимый разряд до округления равен 1, и до меньшего, если этот разряд равен 0. Следующие два метода, упоминаемые в стандарте, — округление до плюс минус бесконечности — применяются при реализации методики вычисления, известной под именем "арифметика интервалов", которая предусматривает определение границ (верхней и нижней) значений результата. Последний способ, оговоренный в стандарте, предусматривает округление до. Фактически этот способ предполагает усечение результата — дополнительного разряды просто отбрасываются. При использовании этого способа хранимый. Результат по абсолютной величине будет всегда меньшим или равным точному значению, а потому при выполнении длительных вычислительных процедур образуется смещение в сторону меньших значений (к нулю). Эффект накопления и ошибки округления может быть значительно более серьезным, чем той, которую мы упоминали чуть выше, поскольку смещенная ошибка возникает при исполнении каждой операции, а не только в особых случаях.

Особенности выполнения арифметических операций в соответствии со стандартом IEEE

 

Стандартом IEЕЕ 754 регламентируется не только формат с плавающей точкой для представления чисел, но и определенные правила выполнения арифметических операций над ними, что позволяет получать одинаковые результаты при реализации вычислительных алгоритмов на разных аппаратных и программных платформах.


Дата добавления: 2019-07-15; просмотров: 120; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!