Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Сложение (вычитание) двоичных чисел с плавающей запятой




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

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

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

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

Первый случай. Сложение мантисс слагаемых произошло без переполнения разрядной сетки и нарушения нормализации.

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

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

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

Третий случай. При сложении мантисс слагаемых произошло переполнение разрядной сетки, т.е. в знаковых разрядах мантиссы суммы оказалась комбинация 01 или 10.

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

 

Пример (первый случай).

Слагаемые:

 

 

Требуется найти , т.е найти и .

Первый шаг.

Уравнивание порядков слагаемых, т.е. денормализация слагаемого , чтобы его порядок стал равен + 101.

После уравнивания .

 

Второй шаг.

Перевод мантисс обоих слагаемых в модифицированный обратный код

 

Третий шаг.

Сложение мантисс

 
+

.

Четвертый шаг.

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

Результат операции сложения .

 

Пример (второй случай).

Слагаемые:

 

Требуется найти , т.е найти и .

Будем производить вычисление в модифицированном обратном коде.

Уравнение порядков в данном примере не требуется.

 

Первый шаг.

Перевод мантисс слагаемых в модифицированный обратный код

 

 

Второй шаг.

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

Третий шаг.

Перевод мантиссы суммы в прямой код

 

.

 

Произошла денормализация вправо на три разряда.

 

Четвертый шаг.

Устранение денормализации путем сдвига прямого кода мантиссы суммы на три разряда влево и вычитания из первоначального порядка суммы трех единиц. Вычитание производится в модифицированном дополнительном или в модифицированном обратном коде

 

 

Результат операции сложения

 

Пример (третий случай).

Слагаемые:

 

Требуется найти , т.е найти и .

Будем производить вычисления в модифицированном обратном коде.

Первый шаг.

Уравнение порядков слагаемых

 

.

Второй шаг.

Перевод мантисс слагаемых в модифицированный обратный код

 

 

Третий шаг.

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

 

 
+
1 10,111011101

10,111011110

Произошло переполнение разрядной сетки (денормализация влево), т.к. в знаковых разрядах мантиссы суммы оказались разные знаки.

 

Четвертый шаг.

Устранение переполнения (нормализация) путем сдвига мантиссы суммы на один разряд вправо и прибавления единицы к первоначально полученному порядку суммы в модифицированном дополнительном или в модифицированном обратном коде.

 

Пятый шаг.

Перевод мантиссы суммы в прямой код

 

Результат операции сложения

 





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


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 4602 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2279 - | 2102 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.