|
Рис. 4.4. Множимое Х = 2,5 в формате с плавающей запятой
Сделаем проверку множимого (т.е. произведём обратное преобразование). Необходимо напомнить, что если старший разряд смещённого порядка равен 1, то порядок числа положительный, иначе – отрицательный. Для преобразования смещённого порядка в несмещённый необходимо из смещённого порядка вычесть двоичное число 1000000b (или 26). Если из смещённого порядка делимого pxсм =1000010b вычесть 1000000b, то несмещённый порядок делимого px будет равен 0000010b, или десятичному числу 2. Таким образом:
X = mx ´ =
0,1010000000 ´ 22 = 10,10000000 =
= 1 ´ 21 + 0 ´ 20 + 1 ´ 2-1 + 0 ´ 2-2 + 0 ´ 2-3 + 0 ´ 2-4 + 0 ´ 2-5 +0 ´ 2-6 + 0 ´ 2-7 + 0 ´ 2-8 = 2,5,
где mx – нормализованная мантисса множимого;
px = 2 – порядок множимого (несмещенный) в десятичном
виде.
Веса разрядов
26
25
24
23
22
21
20
22
21
20
2-1
2-2
2-3
2-4
2-5
2-6
2-7
0
1
0
0
0
0
1
1
1
1
0
0
1
0
0
0
0
0
Знак
смещённый порядок
мантисса
Рис. 4.5. Множитель Y = 6,25 в формате с плавающей запятой
Аналогично сделаем проверку делителя:
Y = my ´ =
0,1100100000 ´ 23 = 110,0100000 =
= 1 ´ 22 + 1 ´ 21 + 0 ´ 20 + 0 ´ 2-1 + 1 ´ 2-2 + 0 ´ 2-3 + 0 ´ 2-4 + 0 ´ 2-5 + 0 ´ 2-6 + 0 ´ 2-7 = 6,25,
где my – нормализованная мантисса множителя;
py = 3 – порядок множителя (несмещенный) в десятичном
виде.
Рассмотрим выполнение примера поэтапно.
Прием операндов Х и Y. Множимое заносится в Рг1. В ТгЗн1 запоминается знак множимого. В Рг2 заносится множитель. Знак множителя запоминается в ТгЗн2.
Проверка мантисс сомножителей на равенство нулю. Так как старшие разряды мантисс сомножителей равны единице, то умножение продолжается.
Вычисление смещённого порядка произведения. Необхо- димо сложить на сумматоре смещённый порядок множимого (РгА) и смещённый порядок множителя (РгВ). Необходимо учесть, что для сложения порядков используется дополнительно нулевой разряд.
В результате сложения на выходе сумматора См[0¸7] сформировалась сумма порядков сомножителей (рис. 4.6).
Разряды
[0]
[1¸7]
[8¸17]
Комментарий
РгА
0
1000010
0000000000
В РгА[1¸7] смещённый порядок множимого px.см
РгВ
0
1000011
0000000000
В РгВ[1¸7] смещённый порядок множителя py.см
См.
1
0000101
0000000000
В См[1¸7] сумма смещенных порядков px.см + py.см
Сч1
0
1000101
В Сч1[1¸7] смещённый порядок произведения pz.см
Рис. 4.6. Суммирование смещенных порядков
Анализируем значения двух старших разрядов См. Так как См[0¸1]=10, то получен положительный, не переполненный порядок (это фиксируется в Тг1). В смещенный он преобразуется инверсией первого разряда См[1]. Итак, pz.см = =1000101 b. Результат заносим в разряды Сч1[1¸7], а в нулевой разряд Сч1[0]:=0.
Умножение мантисс. Оформим умножение мантисс в виде таблицы (табл. 4.1) с указанием номеров блоков, использующихся в алгоритме и двоичных кодов сомножителей:
Множимое Рг1 = 0 1000010 1010000000 (см. рис. 4.4)
Рг1 = 0 0000000 1010000000– после обнуления
разрядов знака и порядка.
Множитель Рг2 = 0 1000011 1100100000 (см. рис. 4.5).
Табл. 4.1. Пример умножения мантисс
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
При использовании материалов активная ссылка на источник обязательна.