Схемы деления целых чисел со знаком (в дополнительном или обратном кодах)


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

Особенностями алгоритма деления без восстановления отрицательных остатков для целых чисел в дополнительном коде являются:

· действия с делимым и частичными остатками (сложение или /вычитание) определяются соотношениями знаков делителя и делимого или частичных остатков:

1. при совпадении знаков делителя и делимого или частичных остатков производится вычитание делителя из делимого или частичных остатков,

2. при несовпадении знаков делителя и делимого или частичных остатков производится сложение делителя с делимым или частичными остатками.

· при совпадении знаков частичного остатка и делителя фиксируется единичный разрядный знак частного, при несовпадении – фиксируется нулевой разрядный знак частного.

· после получения результата, в зависимости от соотношения знаков делимого и делителя и наличия остатка, производится корректировка частного путем увеличения его на единицу:

1. при положительном делимом и отрицательном делителе,

2. при отрицательном делимом, положительном делителе и при ненулевом остатке,

3. при отрицательных делимом и делителе и при нулевом остатке.

 

Пример 1. Деление целых чисел со знаками без восстановления отрицательных остатков (делимое – положительное, делитель– отрицательный)

Делимое – А = 27(10) = 0.0100011(2),

Делитель – В = –5(10) , = 1.1011(2) (в дополнительном коде)

Цифры дополнительного разряда регистров делимого, делителя и все цифры частного выделены жирным шрифтом.

 

№ цикла Делимое/ частичный остаток Делитель Частное Комментарии
0.0011011 +1.1011 . 1.1110011 1.1011 1. Исходное состояние Знаки не совпадают – сложение Знаки совпадают – цифра (знак частного) = 1
1.110011 +0.0101 . 0.000111 1.1011 1.0 Сдвиг делимого Знаки совпадают – вычитание Знаки не совпадают – цифра частного 0
0.00111 +1.1011 . 1.11101 1.1011 1.01 Сдвиг делимого Знаки не совпадают – сложение Знаки совпадают – цифра частного = 1
1.1101 +0.0101 0.0010 1.1011 1.010 Сдвиг делимого Знаки совпадают – вычитание Знаки не совпадают – цифра частного 0
0.0010   1.011 А>0, B<0, Коррекция частного(+1)

Результат деления 011011 (27(10)) на 1.011 (–5(10)),

Частное – 1.011 (–5(10)), остаток – 0.010 (2(10))

Результат деления

частное – 1.011(2) = –5(10),

остаток – 0.010 (2)= 2(10).

Пример 2. Деление целых чисел со знаками без восстановления отрицательных остатков. (делимое – отрицательное, делитель – положительный).

Делимое – А = – 27(10) = 1.100101(2) (в дополнительном коде).

Делитель – В = 5(10)= 0.101(2).

Цифры дополнительного разряда регистров делимого, делителя и все цифры частного выделены жирным шрифтом

№ цикла Делимое/ частный остаток Делитель Частное Комментарии
1.1100101 +0.0101 . 0.0001101 0.0101 1. Исходное состояние Знаки не совпадают – сложение Знаки совпадают – цифра (знак частного) = 1
0.001101 +1.1011 . 1.111001 0.0101 1.0 Сдвиг делимого Знаки совпадают – вычитание Знаки не совпадают – цифра частного 0
1.11001 +0.0101 . 0.00011 0.0101 1.01 Сдвиг делимого Знаки не совпадают – сложение Знаки совпадают – цифра частного = 1
0.0011 +1.1011 1.1110 0.0101 1.010 Сдвиг делимого Знаки совпадают – вычитание Знаки не совпадают – цифра частного 0
1.1110 0.0101 1.011 А>0, B<0, Коррекция частного(+1)

Результат деления 1.100101 на 0.101, частное – 1.011, остаток – 1.110 (дополнительный код).

Результат деления:

частное – 1.011(2) = –5(10) ,

остаток – 1.110(2) =– 2(10).

 



Дата добавления: 2022-02-05; просмотров: 409;


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

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

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

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