• округление до ближайшего числа, которое можно представить в используемом формате;
• округление до +;
• округление до -;
• округление до нуля.
Рассмотрим эти способы более детально. Способ округления до ближайшего числа определяется в стандарте следующим образом. При сохранении результата, имеющего теоретически бесконечную точность, необходимо взять ближайшее к результату число, которое можно представить в используемом формате хранения. Если существуют два числа, одинаково близких к результату, выбирается то из них, у которого младший разряд равен 0. Лучший результат дает метод несмещенной ошибки. Один из вариантов несмещенного округления — после выполнения операции, результат которой соответствует этому особому случаю, случайным образом выбирать округление до большего или до меньшего. Тогда в среднем результат всей процедуры будет несмещенным. Аргумент против этого подхода состоит в том, что он не дает возможности получить повторяющиеся результаты вычислений одной и той же процедуры с одними и теми же исходными данными (т.е. вычислительная процедура становится недетерминированной). Стандарт IEEE регламентирует такой подход, который заставляет сохранять в том случае четный результат:
Если результат вычислений в равной степени отличается от большего и меньшего числа, представимого в данном формате, значение округляется до большего, если младший представимый разряд до округления равен 1, и до меньшего, если этот разряд равен 0. Следующие два метода, упоминаемые в стандарте, — округление до плюс минус бесконечности — применяются при реализации методики вычисления, известной под именем "арифметика интервалов", которая предусматривает определение границ (верхней и нижней) значений результата. Последний способ, оговоренный в стандарте, предусматривает округление до. Фактически этот способ предполагает усечение результата — дополнительного разряды просто отбрасываются. При использовании этого способа хранимый. Результат по абсолютной величине будет всегда меньшим или равным точному значению, а потому при выполнении длительных вычислительных процедур образуется смещение в сторону меньших значений (к нулю). Эффект накопления и ошибки округления может быть значительно более серьезным, чем той, которую мы упоминали чуть выше, поскольку смещенная ошибка возникает при исполнении каждой операции, а не только в особых случаях.
Особенности выполнения арифметических операций в соответствии со стандартом IEEE
Стандартом IEЕЕ 754 регламентируется не только формат с плавающей точкой для представления чисел, но и определенные правила выполнения арифметических операций над ними, что позволяет получать одинаковые результаты при реализации вычислительных алгоритмов на разных аппаратных и программных платформах.
Простые и сигнализирующие значения типа NaN
Значения типа NaN представляют, по существу, не числа, а символ "втиснутые" в формат с плавающей точкой. Различается два подтипа NV значений — сигнализирующее и простое. Оба подтипа NaN-значений представляются в формате с плавающей точкой одинаково — поле порядка заполнено единицами, а в поле мантиссы присутствует код, отличный от всех нулей, который стандарт не регламентирует.
Заключение
В работе были рассмотрены алгоритмы выполнения основных арифметических операций над целыми числами, представленными в дополнительном коде. В анализе числовые и нечисловые данные обрабатываются единообразно на основе одной математической модели как числовые данные.
Для проведения подобных исследований обычно реализуется один из двух вариантов:
- изучается подмножество однородных по своей природе данных, измеряемых в одних единицах измерения;
- перед исследованием данные приводятся к сопоставимому виду, например, широко используются процентные или другие относительные величины.
Первый вариант является не решением проблемы, а лишь ее вынужденным обходом, обусловленным ограничениями реально имеющегося в распоряжении исследователей инструментария.
Второй вариант лишь частично решает проблему – снимает различие в единицах измерения. Однако он не преодолевает принципиального различия между количественными и качественными (нечисловыми) величинами и не позволяет обрабатывать их совместно в рамках единой модели
Числовые данные могут быть различной природы, и, соответственно, они измеряются в самых различных единицах измерения. Однако арифметические операции можно выполнять только над числовыми данными, измеряемыми в одних единицах измерения. Данные нечисловой природы, т.е. различные факты и события, характеризуются тем, что с ними вообще нельзя выполнять арифметические операции. Соответственно, возникает потребность в математических методах и программном инструментарии, обеспечивающих совместную сопоставимую обработку разнородных числовых данных и данных нечисловой природы.
Геометрическая интерпретация представления целых чисел со знаком в дополнительном коде: а)- 4-разрядные числа, б)- n-разрядные числа.
Блок-схема узлов АЛУ, выполняющих сложение и вычитание.
Схема умножения чисел в дополнительном коде алгоритма Бута.
Алгоритм умножения чисел в формате с плавающей точкой.
Алгоритм деления чисел в формате с плавающей точкой.
1. Духнич Е.И., Андреев А.Е., Организация вычислительных машин и систем:Учебн. пособие/ВолгГТУ, Волгоград, 2003.-80с.
2. Луценко Е.В. «Вычислительные машины» - Краснодар. 2000.
3. Тертышный В.Т. «История персонального компьютера» - М. 2002.
4. Уильям Столлингс «Структурная организация и архитектура компьютерных систем». - М 2002г.
5. www.intuit.ru – “Интернет Университет”, портал дистанционного образования.