10. Сложение и вычитание чисел с плавающей точкой icon

10. Сложение и вычитание чисел с плавающей точкой




Название10. Сложение и вычитание чисел с плавающей точкой
страница1/6
Дата конвертации17.05.2013
Размер0.6 Mb.
ТипДокументы
  1   2   3   4   5   6
1. /АЛОВТ (1- 325).doc
2. /АЛОВТ (326-552).doc
3. /АЛОВТ (553-814).doc
4. /АЛОВТ (Приложение).doc
P =n-1 pn-1
8. Умножение чисел с фиксированной точкой. 1 Основной способ умножения и варианты его реализации
10. Сложение и вычитание чисел с плавающей точкой
X(p) = an-1pn-1+ an-2pn-2+ … + a0p0 + a-1p-1+ … + a-mp-m



10. Сложение и вычитание чисел с плавающей

точкой.


  1. . Основные действия.



553

X = MXPQ - используемое
представление


554


Выравнивание порядков идет по

большему , так как иначе потребуется неопределенно большая разрядная сет-

ка.Исходные операнды берутся норма-

лизованными, иначе может возникать

обьективно ненеизбежная погрешность.


555

Пример


556

Итак ; .

Пусть QX > QY ; QX - QY =  .



Тогда X+Y = (MX + ).

Для X,Y имеем : A > |MX| , |MY|

Для Z должно быть : ;

557 A - обычно 1либо Р.


MY:=MYP

MX:=MXP

Z:=Y

Z:=X

* - потеря порядка (анти-переполнение)
=QXQY


+ +

_ _

558


|MZ|
QZ :=QZ1

QZ :=QZ1

MZ :=MZP

MZ :=MZP1

QZ:=QX :=:=QX

QZ:=QY :=QY

QZ:=QX :=QX

MZ := MX  MY

Z :=0

0

0

1 *

1



+



+

**



559


ПП : = 1

* - потеря порядка (анти-переполнение)
** - при |MZ| = 0
обычно имеем

Z := 0.

ПП = 1 - признак
переполнения

результата.

ППП = 1 - признак
переполнения

порядка.


560



При очень малых Z, для которых

происходит потеря порядка, результат

иногда оставляют с Q = Qmin в денорма- лизованном виде вместо Z := 0.


561



10.2 Обнаружение денормализации чисел.


562



при А=1 это

при А=Р это P > |M|  1

(последнее соответствует стандарту

современных микроЭВМ).

A  |M| - денормализация влево.

|M| < - денормализация вправо

563



Денормализация влево соответствует переполнению разрядной сетки, oтведен-

ной для представления мантиссы; oбнару-

живается по признакам переполнения (см.

раздел 3.3).


564


Денормализация вправо означает

появление незначащей старшей цифры

в разрядной сетке мантиссы.

Полагая, что мантисса может быть

представлена разными кодами, найдем

признаки денормализации вправо.


565

Прямой код (рассматриваем цифровые разряды)

1 > |M|  ; (P=2)


1 > |M|  ; (P=16)


2 > |M|  1 ; (P=2)

566

Обнаруживать денормализацию

вправо по Мдоп сложно. Мантисса

обычно представляется прямым

кодом.

Складывая мантиссы, мы сначала

переводим результат в прямой код,

который в итоге и нужен, а потом

проверяем нормализованность ре-

зультата.


567




  1. АЛУ



568






СчП:=;

=QX+QY+1;

-1

+1
Обработка начинается с выравнивания порядков.


569




При =0 порядки X и Y равны. При

>0 QX>QY и MY сдвигается вправо на

 разрядов мантиссы (с каждым сдви-

гом СчП := СчП-1, пока либо СчП =0,

либо MY = 0 ). При <0 QX < QY и MХ сдвигается вправо, а СчП := CчП+1.


570



Сдвиг мантисс и их сложение

(вычитание) выполняются отдельной

схемой, например, показанной ниже.


571




572

Сдвиг MX (MY) идет через «косые»

передачи на РгСм. Для МХ это может

быть:

РгВ := PгХ , РгА := 0 ;

РгСм := Пр( j)Cм ;


РгХ := РгСм;


573

Выровняв порядки X и Y при
MX  0  MY , переходим к сложению (вычитанию) мантисс в соответствии с алгоритмом, изложенным в разделе 6.1.2.

В СчП при этом переносится ,

равное большему порядку из либо .


574

|MZ| = |MX  MY| проверяется на нормализацию и при необходимости нормализуется сдвигами влево или

вправо с использованием «косых»

передач на РгСм, при одновременной коррекции СчП  1 (в СчП в это время

).


575




Затем составляется результат в форме:

(Знак Z определяется в процессе

обработки мантисс ).


576



Замечание об операции сравнения

чисел с плавающей запятой (точкой).

Для нормализованных чисел с плаваю-

щей точкой операция сравнения может

не базироваться на их вычитании. (То

же для чисел с равными порядками.)


577



Денормализованное представление разрешим только для нуля и чисел с Qmin . (Их нормализация приведет к исчезновению порядка.)

Так в ПЭВМ.


578




Наш формат таков :


Из вытекает, что Q1 >Q2

и |X1| > |X2| (для нормализованных

чисел). При Q1 = Q2 имеем: |X1| > |X2|,

если |М1| > |М2|.


579



В итоге сравнение можно выполнить, рассматривая коды чисел с плавающей

точкой как коды чисел с фиксирован-

ной точкой, где Qсм соответствует

старшим разрядам, а |M| - младшим.

Код полагается прямым (знак сохраня-

ется).


580



Сравнивая эти коды как числа с фиксированной точкой (вычитая как числа с фиксированной точкой), мы сравним числа с плавающей точкой.


581


11. Умножение и деление чисел с плавающей

точкой.

11.1.Сложение и вычитание порядков.


582



Сложение и вычитание порядков

чисел производится в условиях необ-

ходимости хранения результатов, вре-

менно переполняющих разрядную сет-

ку и даже увеличения (или уменьшения

их.


583



11.1.1. Использование
смещенного кода.



584




Вычитание, как и ранее, будем сводить

к сложению:


585


Сложение можно выполнять по разному. Можно делать так:


(Переходы Хсм  Хдоп выполняются инверсией знакового разряда).


Можно не преобразовывать исходные операнды.


586

Для того, чтобы осуществлять сложе-

ние и вычитание порядков с учетом необходимости хранения результатов, переполняющих разрядную сетку сле-

дует расширять сетку. Проще всего

это делать, добавляя слева «запасной» (нулевой) разряд.


587

Тогда, складывая + , мы по-

лучим:

2n1 + QX + 2n1 + QY = 2n + QZ,

то-есть фактически смещенный код

суммы в (n+1) – разрядной сетке, допускающей представление суммы

без переполнения.


588

При этом имеем:


+Q) 2n+QZ=2n+(02n1-1)


-Q) 2n+QZ = 2n+(-1-2n1)


+)2n+QZ=2n+(2n12n-1)


-)2n+QZ=2n+(-2n1-1-2n)


589



Вычтя из 2n + QZ величину 2n-1 , получим

2n1 + QZ = . Если при этом левый

(n+1)-ый разряд равен нулю, то до-

пускает размещение в n - разрядной сетке.

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


590

+Q) 2n1 + QZ


-Q) 2n1 + QZ


+) 2n1 + QZ


-) 2n1 + QZ


Фактически это признаки, определяющие диапазон значения результата.

591




Увеличивая или уменьшая полученный результат на k, можно следить за пере-

ходом из одного диапазона значений к

другому (за возникновением или исчез-

новением переполнения) по двум стар-

им разрядам.

Если k  2n-1, действия могут быть

такими:


592

  1. Qсм := + Q  k

  2. Qсм :=  Q  k

  3. Qсм := +   k

  4. Qсм :=    k.


Для Qсм := +  k и для Qсм :=    k переполнение всегда сохранится.


593



Можно вести обработку и в n-разряд-

ной сетке, обнаруживая переполнение

по значению переноса и значению

старшего разряда суммы и сохраняя

признак переполнения.


594



11.1.2 Использование смещенного

кода с отрицательным нулем.


595



Сложение порядков в смещенных

кодах с отрицательным нулем (QX)см

и (QY)см производится суммировани-

ем:

(QX)см + (QY)см + 1


596
  1   2   3   4   5   6

Добавить документ в свой блог или на сайт


Похожие:

10. Сложение и вычитание чисел с плавающей точкой iconУрок-путешествие в сказку по теме «Натуральные числа. Сложение и вычитание натуральных чисел». Разработала учитель математики первой категории моу кимильтейская сош зарубина Н. М. Тема урока: «Натуральные числа. Сложение и вычитание натуральных чисел»
Урок-путешествие в сказку по теме «Натуральные числа. Сложение и вычитание натуральных чисел»

10. Сложение и вычитание чисел с плавающей точкой iconТема: Сложение и вычитание чисел ( 6 класс)
Формирование знания правила сложения и вычитания чисел с разными знаками и умения применять их при выполнении заданий

10. Сложение и вычитание чисел с плавающей точкой iconТестирование по теме «Сложение и вычитание многозначных чисел»

10. Сложение и вычитание чисел с плавающей точкой iconДокументи
1. /s_r/Ср 1.1 Диагностическая работа.doc
2. /s_r/Ср...

10. Сложение и вычитание чисел с плавающей точкой iconВопросы к экзамену по курсу «прикладная математика»
...

10. Сложение и вычитание чисел с плавающей точкой iconВопросы к экзамену по курсу «прикладная математика»
...

10. Сложение и вычитание чисел с плавающей точкой iconДокументи
1. /k_r/Итоговая контрольная работа.doc
2. /k_r/Кр...

10. Сложение и вычитание чисел с плавающей точкой iconКонтрольная работа №4 по теме «Сложение и вычитание многозначных чисел»
На комбинате в декабре изготовили 7163 л сока, а в январе – на 678 литров меньше. Из всего сока 9789 литров разлили в пакеты, а остальной...

10. Сложение и вычитание чисел с плавающей точкой iconЛекция 1 Числа. Корни. Степени. Логарифмы Различные виды чисел: натуральные, целые, рациональные, действительные. Действия над числами: сложение, вычитание, умножение, деление
Возведение числа в натуральную степень, свойства степеней. Арифметические корни, их свойства. Дробные степени. Отрицательные степени....

10. Сложение и вычитание чисел с плавающей точкой iconСложение и вычитание дробей с одинаковыми знаменателями

10. Сложение и вычитание чисел с плавающей точкой iconТема Количество
Сложение и вычитание дробей с равными знаменателями. Умножение дроби на натуральное число

Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©libdocs.ru 2000-2013
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы