Главная > Прикладная теория цифровых автоматов
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

6.5. ДЕЛЕНИЕ ЧИСЕЛ В Д-КОДАХ

Деление десятичных чисел обычно выполняется в прямых Д-кодах. Знак частного определяется так же, как и при двоичном делении, поэтому в дальнейшем рассмотрим деление положительных десятичных дробей. Из двух возможных способов деления двоичных чисел для деления десятичных чисел целесообразно применять только способ при неподвижном делителе и сдвиге остатков и частного влево. При двоичном делении в каждом такте получалась очередная цифра частного, которая принимала одно из двух возможных значений (О или 1). Для определения этой цифры делитель вычитался из делимого на нулевом шаге и сдвинутого влево на один разряд очередного остатка на последующих шагах. При десятичном делении количество вычитаний дел тел из сдвинутого очередного остатка, как правило, больше 1, так как разряды частного могут принимать значения от О до 9. Так же как и при умножении, на сумматоре слева от запятой должно быть пять двоичных разрядов: самый левый — знаковый, где фиксируется знак остатка, и еще одна тетрада, в которую может сдвигаться старшая цифра текущего остатка при его сдвиге влево. Справа от запятой в сумматоре должна быть тетрада, младшая из которых используется только для округления частного. В регистре делителя справа от запятой должно быть тетрад Регистр частного должен быть с левым сдвигом и иметь тетраду Причем младшая тетрада должна представлять собой реверсивный счетчик, в котором формируется очередная десятичная цифра частного при выполнении очередного шага деления. Всех циклов деления должно быть , так как в первом цикле получается цифра слева от запятой, а справа от запятой необходимо сформировать цифру с учетом разряда округления. Если на первом шаге цифра частного не равна 0, то частное вышло за пределы разрядной сетки, т. е. операция не корректна. При выполнении каждого шага деления к счетчику тактов прибавляется 1, а операция завершается после выполнения циклов.

В исходном состоянии делимое находится в сумматоре, делитель — в регистре целителя, а регистр частного установлен в состояние 0. Деление начинается в вычитания делителя из делимого на нулевом шаге и из сдвинутых остатков — на последующих шагах. Вычитание на каждом шаге заменяется сложением в дополнительном Д-коде и производится до тех пор, пока не получится отрицательный остаток. При этом каждый раз при получении положительного остатка

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

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

Пример. Разделить число на число как на нулевом шаге остаток должен получиться отрицательным, операция коррект на. Далее рассмотрим только цифровую часть чисел

Остаток Сдвиг частного влево и делителя вправо (или остатка влевэ).

Остаток Сдвиг частного влево и делителя вправо на 4 двоичных разряда.

Остаток Сдвиг частного влево и делителя вправо на 4 хвоичиых разряда. И так далее.

Таким образом,

По другому способу при делении чисел, заданных в Д-кодах, результат получается в двоичной системе счисления.

Допустим, при делении А на В получено частное в виде

Тогда где — остаток от деления.

Положим Тогда остаток на первом шаге

Если то если то ул — О. В последующем случае восстанавливается предыдущий положительный остаток. Затем примем, что остальные Остаток на любом шаге составит Следует учесть, что при сдвиге чисел, представленных в Д-коде, необходимо вводить поправки. Поэтому для хранения делителя желательно иметь самостоятельный сумматор, в котором при передаче единицы из одной тетрады в другую автоматически вносится поправка.

Пример. Заданы Найти

Таким образом,

1
Оглавление
email@scask.ru