Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арифметика ответы 2 семак.docx
Скачиваний:
0
Добавлен:
14.12.2025
Размер:
6.14 Mб
Скачать

8) Методы ускорения выполнения операции умножения.

Существует два основных метода ускорения умножения: аппаратные и логические.

Аппаратные требуют дополнительного оборудования и делятся на способы 1-го порядка (затраты ∝ n) и 2-го порядка (затраты ∝ n²).

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

Простейшим логическим способом является пропуск тактов суммирования в тех случаях, когда очередная цифра множителя равна нулю.

Другим способом является одновременное умножение на два разряда.

Для младшей пары разрядов при умножении с младших разрядов возможны следующие комбинации единиц и нулей в разрядах: 00; 01; 10; 11.

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

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

Описанная процедура повторяется для всех пар разрядов множителя, а также для одной пары разрядов левее занятой, т.к. может оказаться необходимым добавить к ней единицу.

+Ускорение умножения достигается за счет того, что при комбинации 11 два сложения заменяются одним вычитанием, которое эквивалентно сложению благодаря использованию инверсных кодов, а добавление 1 в соседнюю старшую группу множителя производится одновременно с вычитанием множимого и не увеличивает время умножения.

Пример:

9) Деление двоичных чисел в прямых кодах.

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

Алгоритм деления двоичных чисел в прямом коде:

Частное определяется путем деления модулей исходных чисел. При этом должно соблюдаться условие: XY, где X – делимое и Y – делитель. В противном случае возникнет переполнение.

Этапы деления в прямом коде:

1. Определение знака частного путем сложения по модулю 2 знаковых цифр делимого и делителя.

2. Получение модулей делимого и делителя. Так как вычитание делителя заменяется алгебраическим сложением в дополнительном коде, представляем –|Y| в доп. коде.

3. Выполнение деления по одному из алгоритмов.

4. Представление частного в прямом коде (дополнительном коде) с присвоением ему знака, полученного на первом шаге.

10) Деление двоичных чисел в дополнительных кодах.

Алгоритм деления двоичных чисел в доп. коде:

1. Частному присваивается значение 0; Ст -- s. Исходное значение частичного остатка равно s старшим разрядам делимого.

2. Частичный остаток удваивается сдвигом влево на 1 разряд, с занесением в младший разряд очередной цифры делимого.

3. Если частичный остаток и делитель разного знака, то они складываются, если же одного знака, то из частичного остатка вычитается делитель.

4. Частное сдвигается влево на 1 разряд. В освобождающийся младший разряд заносится очередная цифра частного: 1 -- если знак делителя и остатка совпадают, 0 -- в противном случае. Ст уменьшается на 1.

5. Пункты 2-4 повторяются до тех пор, пока Ст не станет равным 0.

6. Частное и остаток сформированы в обратном коде. Если знак окончательного остатка не совпадает со знаком делимого, то выполняется его восстановление. Для получения ДК результата выполняется его коррекция в зависимости от соотношения знаков делимого и делителя.