При положительном множителе можно сформулировать следующий алгоритм умножения чисел на ДСДК.
Алгоритм. Если множитель больше "0", то умножение на сумматоре дополнительного модифицированного кода заключается в следующем. Анализируется разряд множителя, начиная с младшего. При ві = 1, к содержимому сумматора добавляется множимое. При ві = 0, к содержимому сумматора ничего не добавляется. После каждого анализа, производится модифицированный сдвиг сумматора и множителя вправо на один разряд.
Пример. Умножить числа А = – 0,10101 = – 21, В=0,10011 =19. Метод 2. ДСДК. Подготовим числа ам.доп. = 11.01011; Вм.доп. = 00.10011 . Сумматор имеет 7 разрядов, РгВ имеет 5 разрядов. Решение представлено таблицей 12.1.
Для уменьшения затрат, часто используют режим экономии аппаратных ресурсов, при этом, результат умножения хранится в сумматоре и в РгВ, передавая при сдвигах младшие разряды сумматора в старшие разряды РгВ. Этим и определяется произведенный нами ранее выбор разрядности устройств.
Результат получен в дополнительном коде со знаком 11. После преобразования его в прямой код, знак сохраняется.