Файл: Архаров В.И. Арифметические и логические основы цифровых вычислительных машин учеб. пособие.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