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


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

Пример. Деление целых чисел без знака с восстановлением отрицательных остатков:

А = 3810 = 100110(2) делимое (число без знака),

В = 510 = 101(2) делитель (число без знака),

С – частное от деления (число без знака),

В модифицированном дополнительном коде (- В)=11 1011(2)

№ цикла Делимое/ частичный остаток Делитель Частное Комментарии
0,0100110 +1,1011 . 1,1111 +0,0101 0,0100110   Исходное состояние Пробное вычитание (дополнительный код) Результат отрицательный (переполнения нет) Восстановление остатка. Остаток восстановлен
0,100110 +1,1011 0,010010 Сдвиг делимого, Первое вычитание (дополнительный код) Результат положительный. Цифра частного 1
0,1001 +1,1011 . 0,0100 Сдвиг делимого Второе вычитание (дополнительный код) Результат положительный. Цифра частного 1.
0,1000 +1,1011 0,0011 Сдвиг делимого Третье вычитание) Результат положительный. Цифра частного 1

 

Результат деления 100110 (3810) на 101(510):

 

частное – 111 (710), остаток – 011(310) (числа без знаков).

Результат :

частное С = 111(2), =7(10)(число без знака).

остаток – 0011(2) =3(10) (число без знака).

 

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

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

Если при очередном вычитании получился отрицательный частичный остаток (А–В) = а<0, то его восстановление заключается в операции а + В.

Для определения следующей цифры частного восстановленный частичный остаток сдвигается влево на один разряд, что равносильно умножению его на два :

2 (а + В) = 2а +2В.

После этого Далее из этой величины, для определения следующей цифры частного, вычитается делитель:

2а +2В – В = 2а + В.

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

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

Пример: Деление целых чисел без восстановления отрицательных остатков.

А = 55(10) = 110111(2) делимое (число без знака),

В = 7(10) = 111(2) делитель (число без знака),

С – частное от деления (число без знака).

 

№ цикла Делимое/ частичный остаток Делитель Частное Комментарии
00.110000 +11.001 . 11.111000 00.111     Исходное состояние Пробное вычитание (дополнительный код) Результат отрицательный. (Переполнения нет)
11.11000 +00.111 . 00.10100 00.111   Сдвиг отрицательного делимого влево и вместо вычитания – сложение с делителем. Результат положительный, цифра частного = 1.
01.0100 +11.001 . 00.0110 00.111   Сдвиг положительного делимого влево и вычитание (дополнительный код) делителя. Результат положительный, цифра частного = 1.
00.0110 +11.001 11.110 00.111 Сдвиг положительного делимого влево и вычитание (дополнительный код) делителя. Результат отрицательный, цифра частного = 0.
  11.110 00.111 00.110 00.111   Восстановление отрицательного остатка.

 

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

частное – 110, остаток – 0110. (числа без знаков).

Результат :

Частное С = 110(2) = 6(10), (число без знака).

остаток – 0110(2) =6(2), (число без знака).

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

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



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


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

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

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

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