
- •1.4. Алфавитное представление и преобразование информации
- •Глава 2
- •2.1. Непозиционные системы счисления
- •2.2. Позиционные системы счисления
- •Неоднородные позиционные системы счисления
- •Однородные позиционные системы счисления
- •2.3. Кодированные позиционные системы счисления
- •2.4. Системы счисления специального назначения
- •2.6. Символические системы счисления
- •2.7. Перевод чисел из одной системы счисления в другую
- •Перевод целых чисел из одной позиционной системы счисления в другую
- •2.8. Выбор системы счисления для применения эвм
- •2.9. Двоичная система счисления
- •2.10. Представление двоичных чисел в эвм
- •2.11. Точность представления чисел в эвм
- •Глава 3
- •3.1. Основные понятия
- •3.2. Операция алгебраического сложения в эвм
- •3.3. Операция сдвига
- •3.4. Сложение чисел в машинах с плавающей запятой
- •8.5. Округление чисел в эвм
- •3.6. Точность выполнения операций в машине с плавающей запятой
- •3.7. Вычисления с двойной точностью
- •Глава 4
- •4.1. Общие сведения об операции умножения
- •4.2. Умножение, выполняемое методом накопления частичных произведений
- •4.3. Сравнение схем умножения методом накопления
- •4.4. Методы ускорения операции умножения
- •4.5. Умножение чисел, заданных в дополнительном коде
- •4.6. Умножение чисел в машинах с плавающей запятой
- •4.7. Особенности выполнения операции умножения в современных эвм
- •4.8. Деление чисел с восстановлением остатков
- •4. 9. Деление без восстановления остатков
- •4.10. Машинные схемы деления
- •4.11. Деление чисел в дополнительном коде
- •4.13. Деление чисел в машинах с плавающей запятой
- •Глава 6
- •6.1. Сложение в прямых д-кодах
- •6.2. Сложение чисел в инверсных д-кодах
- •Для кода д2
- •6.3. Сдвиг д-кодов
- •6.4. Умножение чисел в д-кодах
- •6.5. Деление чисел в д-кодах
- •6.6. Перевод чисел в д-кодах
4. 9. Деление без восстановления остатков
Рассмотренный способ деления с восстановлением остатков является аритмичным процессом с переменным числом шагов того или иного вида в каждом конкретном случае (3 шага при 2 Ri < В и 2 шага при 2 Ri >В). Для ритмизации процесса на каждую цифру частного необходимо затратить по 3 шага, в результате чего увеличивается время выполнения операции. Вместе с тем, операцию можно упростить и получить каждую цифру частного за 2 шага.
Рассмотрим случай, когда Ri < 0. В предыдущем способе в этом случае выполнялись следующие операции.
Восстановление остатка:
Ri’= Ri +| В |=2 Ri-1 -| В |+ | B |=2Ri-1
Сдвиг восстановленного остатка влево:
Ri’=2Ri’= 2Ri-1• 2 = 4Ri-1
Вычитание модуля делителя из восстановленного и сдвинутого влево остатка для определения следующего остатка:
Ri+1 = 4Ri-1 - | B |
Если не восстанавливать остаток, а сразу сдвинуть отрицательный на один разряд влево, то получим
Ri+1’=2Ri = 2(2Ri-1 - | B |)=4Ri-1 -2 | B |
Результат в данном случае отличается от действительного на величину + | В |. Поэтому в качестве второго шага необходимо произвести коррекцию результата на эту величину:
Ri+1 = 4Ri-1 - 2| B |+ | B |= 4Ri-1 - | B |
В результате получаем требуемую величину последующего остатка Ri+1, за 2 шага.
Таким образом, чтобы определить следующую цифру частного, необходимо сдвинуть текущий остаток влево на один разряд, а затем алгебраически прибавить к нему модуль делителя, которому приписывается знак, противоположный знаку текущего остатка. Знак полученного таким образом следующего остатка и определяет следующую цифру частного: если остаток положительный, то в частном записывается 1, если отрицательный — записывается 0. Операция сдвигов и алгебраических сложений повторяется до тех пор, пока в частном не получится требуемое количество цифр.
Пример. Заданы А = 0,101, В = 0,110, B ДМ = 11,010.
Определение знака частного: 0 0
+B ДМ 11 0 1 0 Pr B
11 1 1 1 CM 00
11 1 1 0 CM 0 PrY + B 00 1 1 0
00 1 0 0 CM 01
+B ДМ 11 0 1 0
00 0 1 0 CM 011
00 1 0 0 CM 011 PrY +B ДМ 11 0 1 0 CM
11 1 1 0 CM 0110
11 1 0 0 CM 0110 PrY +B 00 1 1 0
|