Арифметические операции над двоичными числами с плавающей точкой


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

Сложение (вычитание).Операция сложения (вычитания) произво­дится в следующей последовательности.

1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания ∆ p=p1-p2. При выполнении этой операции определяет­ся, одинаковый ли порядок имеют исходные слагаемые.

2. Если разность порядков равна нулю, то это значит, что одно­именные разряды мантисс имеют одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание порядков.

3. Для выравнивания порядков число с меньшим порядком сдвига­ется вправо на разницу порядков ∆ р. Младшие выталкиваемые раз­ряды при этом теряются.

4. После выравнивания порядков мантиссы чисел можно склады­вать (вычитать) в зависимости от требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данны­ми табл. 2.3. Действия над слагаемыми производятся в ОК или ДК по общим правилам.

5. Порядок результата берется равным большему порядку.

6. Если мантисса результата не нормализована, то осуществля­ются нормализация и коррекция значений порядка.-

Пример 2.13.Сложить два числа: A10 = + 1,375; 510 = -0.625.

A2 = +1.011 =0: 1011 • 10'; B2 =-0.101 = -0: 101 • 10°.

В нормализованном виде эти числа будут иметь вид:

1. Вычитаем порядки ∆ =pl -p2 = 1- 0=1. В машине эта операция тре­бует операции сложения с преобразованием порядка чисел в дополни­тельный код:

Определяем, что ∆ р≠ 0.

2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание порядков.

3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд:

4. Складываем мантиссы:

Мантисса числа С — положительная.

5. Порядок числа С равен порядку числа с большим порядком, т.е. pc=+1.

[C2]п=0: 1 0: 0110.

Видно, что мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю.

6. Нормализуем результат путем сдвига мантиссы на один разряд вле­во и соответственно вычитаем из значения порядка единицу:

2]п = 0: 0 0: 11О;

С10 = +0.75.

Умножение (деление).Операция умножения (деления) чисел с пла­вающей точкой также требует разных действий над порядками и ман­тиссами. Алгоритмы этих операций выполняются в следующей пос­ледовательности.

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

2. При умножении (делении) мантиссы перемножаются (делятся).

3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей (делимого и делителя). Возможные переносы из знакового разряда игнорируются.



Дата добавления: 2017-01-26; просмотров: 1763;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.