Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.07.2024
Просмотров: 94
Скачиваний: 1
П е р в ы й ш а г . Складывая порядки сомножителей с учетом знаков, получим порядок произведения:
00,1000 ПК порядка множимого
11,1011 ДК порядка множителя
|
|
|
00,0011 |
ПК |
порядка произведения.. |
|
|||||
|
В т о р о й |
ш а г . |
Складывая коды |
знаков |
сомножителей со |
||||||
|
|
|
|
гласно таблице 3-1, получим код знака |
|||||||
|
|
|
|
произведения: |
|
|
|
|
|||
|
|
|
|
00 -I- 00 - 00. |
|
|
|
|
|||
|
Т р е т и й |
ш а г . |
Умножение |
мантисс производим согласно |
|||||||
|
|
|
|
таблице |
3-2 |
ПК |
мантиссы |
множимого |
|||
|
|
|
|
00,110111011 |
|||||||
|
|
|
|
11,001000101 |
ДК |
мантиссы |
множимого |
||||
|
|
|
|
01,101110110 |
удвоенная |
мантисса |
множи |
||||
|
Множитель |
00,11 |
01 |
10 01 |
мого. |
|
|
|
|||
|
|
|
|
|
|
||||||
I такт |
.00,000000000 |
|
«01» и «0» СС |
|
|
|
|||||
|
|
+ 00,110111011 |
|
Прибавление множимого в ПК |
|||||||
|
|
00,110111011 |
|
1 частичное произведение (ЧП) |
|||||||
|
|
00,00110111011 |
Сдвиг 1ЧП на 2 разряда вправо |
||||||||
II |
такт |
00,00110111011 |
«10» и |
«0» СС |
|
|
|||||
|
|
+ |
|
|
|
Прибавление удвоенного множи |
|||||
|
|
01,10111011000 |
мого |
|
|
|
|
||||
|
|
01,11110010011 |
|
2 ЧП |
|
|
|
|
|||
|
|
00,0111110010011 |
Сдвиг 2 ЧП на 2 разряда вправо |
||||||||
III |
такт |
,00,0111110010011 |
«01» и «0» СС |
|
|
|
|||||
|
|
+ 00,1101110110000 |
Прибавление |
множимого |
в ПК |
||||||
|
|
01,0101101000011 |
3 |
ЧП |
|
|
|
|
|||
|
|
00,010101101000011 |
сдвиг 3 ЧП на 2 разряда вправо |
||||||||
IV такт |
, 00,010101101000011 |
«11»и«0»СС установки в «1» СС |
|||||||||
|
|
11,001000101000000 |
ДК множимого |
|
|
11,011110010000011 4 ЧП
11,11011110010000011 Модифицированный сдвиг 4 ЧП на 2 разряда вправо
Конец циклического процесса
,11,11011110010000011 «00» и «1» СС ^00,11011101100000000 ПК множимого
00,10111011110000011 Мантисса произведения.
6 6
Ч е т в е р т ы й ша г . Мантиссе |
произведения приписываем |
суммарный |
порядок сомножителей и |
знак числа |
|
00.10111011110000011.00.0011. |
Проверка. 00.10111011110000011.00.0011 =00.10111011110000011X
X 2 t00U = + 101,11011110000011 = + 5 - ^ ^ .
16 384
§ 8. ДЕЛЕНИЕ ЧИСЕЛ В ЦВМ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ
Для деления чисел, заданных в нормальной форме, нужно про извести следующие действия:
а) определение знака частного путем сложения знаков делимого и делителя согласно таблице 3-1;
б) определение порядка частного путем алгебраического вычи тания порядка делителя из порядка делимого;
в) деление мантиссы делимого на мантиссу делителя, что дает мантиссу частного. Эта операция производится точно так же, как и для чисел с фиксированной запятой.
Для деления двух нормализованных мантисс, каждая из которых лежит в пределах
мантисса частного удовлетворяет условию
Y < |iV o l< 2 ’
что эквивалентно нарушению нормализации на один разряд влево.
В некоторых ЦВМ перед выполнением операции деления прину дительно нарушают нормализацию делимого вправо путем сдвига вправо на один разряд мантиссы делимого с одновременным добав лением единицы к порядку делимого. В этом случае частное может получиться с нарушением нормализации вправо на один разряд. После окончания операции происходит нормализация делимого.
Если делимое и делитель заданы прямыми кодами, то операцию деления можно начинать с вычитания мантиссы делителя из ман тиссы делимого, а инвертированный знак сумматора направлять в разряд единиц частного и только после этого циклический про цесс выполнен.
Пример 20. Найти частное двух чисел
Знак |
Мантисса |
^ нак Порядок |
числа |
|
порядка |
5* |
67 |
Делимое |
00 |
11101111111 |
00 |
ОНО |
= + 5 9 — |
||
|
|
|
|
|
|
|
32 |
Делитель |
00 |
11001010000 |
00 |
0100 |
= |
+ 12 |
— |
|
|
|
|
|
|
|
8 |
Частное |
|
|
|
• |
= |
+ 4 |
т |
|
|
|
|
П е р в ы й ш а г . Вычитая из кода порядка делимого код по рядка делителя, получим код порядка ча стного:
+ 00,0110 |
ПК |
порядка делимого |
11,1100 |
ДК |
порядка делителя |
00,0010 |
ПК |
порядка частного. |
В т о р о й |
ш а г . |
Складывая |
коды знаков |
делимого и |
дели |
||
|
|
теля согласно таблице 3-1, получим код |
|||||
|
|
знака частного: |
|
|
|
|
|
|
|
00 + 00 - |
00. |
|
|
|
|
Т р е т и й |
ша г . |
Производим деление мантисс, пользуясь ме |
|||||
|
|
тодом с восстановлением остатка: |
|
||||
|
|
00,11101111111 |
ПК |
мантиссы делимого |
|||
|
|
00,11001010000 |
ПК |
мантиссы делителя |
|||
|
|
11,00110110000 |
ДК |
мантиссы делителя |
|||
|
|
00,11101111111 |
ПК |
делимого цифры |
ман- |
||
|
|
+ |
|
ДК |
|
тиссы частного |
|
|
|
11,00110110000 |
делителя |
|
|||
|
|
------------------------ |
частного |
|
|
||
|
|
00,00100101111 |
первый оста |
|
|||
|
|
|
|
ток |
положи |
|
|
|
|
|
|
тельный |
01 |
|
|
|
|
00,01001011110 |
Сдвиг остатка |
|
|||
|
|
|
|
влево |
на |
|
|
|
|
|
|
1 разряд |
|
|
|
|
|
11,00110110000 |
ДК |
делителя |
|
||
|
|
11,10000001110 |
Остаток отри |
|
|||
|
|
|
|
цательный |
|
|
|
|
|
|
|
01,0 |
|
|
|
, 11,10000001110 |
Восстановление остатка |
|
|
||||
+00,11001010000 |
ПК делителя |
|
|
|
|
||
00,01001011110 |
Восстановленный остаток |
(ВО) |
|
68
,00,10010111100 |
Сдвиг ВО на 1 разряд влево |
|
|
+11,00110110000 |
ДК делителя |
|
|
11,11001101100 |
Остаток отрицательный |
01,00 |
|
,11,11001101100 |
Восстановление остатка |
|
|
+00,11001010000 |
ПК делителя |
|
|
00,10010111100 |
ВО |
|
|
,01,00101111000 |
Сдвиг ВО на 1 разряд влево |
|
|
+11,00110110000 |
ДК делителя |
|
|
00,01100101000 |
Остаток положительный |
01,001 |
|
00,11001010000 |
Сдвиг остатка на 1 разряд |
|
|
+ |
влево |
|
|
11,00110110000 |
ДК делителя |
|
|
00,00000000000 |
Остаток равен |
0 |
01,0011 |
Конец циклического |
процесса . |
|
Ч е т в е р т ы й ш а г . При делении мантисс произошло на рушение нормализации влево. Для восстановления нормализации резуль тирующую мантиссу сдвигаем на один разряд вправо, а порядок частного увеличиваем на единицу:
01,0011 - 00,10011
00,0010 -'г 00,0001 = 00,011.
Пя т ы й ш а г . Получаем следующее частное:
00.10011.00.0011.
Проверка. |
00.10011.00.0011 = 00,10011 ■2+011 = +100,11 = |
+ 4 ~ . |
|||||
Пример 21. Найти частное двух чисел |
|
|
|
||||
|
Знак |
Мантисса |
Знак |
Порядок |
|
||
|
числа |
порядка |
|
||||
|
|
|
|
|
|||
Делимое |
И. |
|
110010101011. |
00. |
111 |
= —101 — |
|
|
|
|
|
|
|
|
32 |
Делитель |
00. |
|
100011010000. |
00. |
101 |
= + |
17 — |
|
|
|
|
|
|
|
8 |
Частное |
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
П е р в ы й |
ша г . Вычитая |
из кода порядка делимого код |
|||||
|
|
|
порядка делителя, получим код порядка |
||||
|
|
|
частного: |
|
|
|
|
69
,0 0 ,111 |
Прямой код порядка делимого |
+ 11,011 |
Дополнительный код порядка де- |
------------ |
лителя |
00,010 |
Прямой код порядка частного. |
В т о р о й |
ш а г . |
Складывая коды знаков делимого и дели |
|
|
|
теля согласно таблице 3-1, получим код |
|
|
|
знака |
частного |
|
|
11 + |
00 = 11. |
Т р е т и й |
ш а г . |
Производим деление мантисс, пользуясь ме |
|
|
|
тодом без восстановления остатка: |
-Т |
00,110010101011 |
Прямой код делимого |
Цифры мантис- |
||||
|
|
|
|
|
сы |
частного |
|
|
11,011100110000 |
Дополнительный |
код делителя |
|
|||
|
00,001111011011 |
Первый остаток положителен |
|
01 |
|||
,00,011110110110 |
Сдвиг остатка влево |
|
|
||||
+ 11,011100110000 |
Дополнительный |
код делителя |
|
||||
|
11,111011100110 |
Остаток отрицателен |
|
01,0 |
|||
,11,110111001100 |
Сдвиг остатка влево |
|
|
||||
+00,100011010000 |
Прямой код делителя |
|
|
||||
|
00,011010011100 |
Остаток положителен |
|
01,01 |
|||
,00,110100111000 |
Сдвиг |
остатка |
влево |
|
|
||
+ |
11,011100110000 |
Дополнительный |
код делителя |
|
|||
|
00,010001101000 |
Остаток положителен |
|
01,011 |
|||
,00,100011010000 |
Сдвиг остатка влево |
|
|
||||
+ |
11,011100110000 |
Дополнительный |
код делителя |
|
|||
|
00,000000000000 |
Остаток равен |
0 |
|
01,0111 |
||
|
|
Конец деления |
мантисс |
01,0111. |
|||
|
Ч е т в е р т ы й |
ш а г . |
При делении мантисс |
произошло на |
|||
|
|
|
рушение нормализации влево. Для вос |
||||
|
|
|
становления нормализации |
результи |
|||
|
|
|
рующую мантиссу сдвигаем на один |
||||
|
|
|
разряд вправо, а порядок частного |
||||
|
|
|
увеличиваем на единицу: |
|
|||
|
|
|
01,0111 = |
00,10111 |
|
|
|
|
|
|
00,010 + |
|
1 = 00,011. |
|
|
70