Двоично-десятичные сумматоры

Выполняют действия над десятичными числами, закодированными в двоично-десятичном коде. Обычный способ построения двоично-десятичных сумматоров предусматривает первичное суммирование тетрад обычным двоичным сумматором и последнюю коррекцию результата. Коррекция необходима – результат может превышать 9, а тетрада должна содержать числа от 0 до 9.

Если сумма меньше 9, коррекция не требуется.

Если при сложении тетрад и переноса из предыдущего результата лежит от 10 до 15 – переноса не возникает, тогда как нужен перенос и уменьшение полученного числа на 10. Вычитание 10 можно заменить сложением с дополнительным кодом 10 – в двоичном представлении – 10=1010, 10ОБР=0101, 10ДОП=0110. Таким образом к полученному результату необходимо прибавить корректирующую поправку 6 и обеспечить сигнал переноса.

Если при первичном сложении результат превысил 15, то разрядная сетка переполняется и вырабатывает перенос в следующую (старшую тетраду). Однако цена этого переноса – 16, а для десятичных число должно быть 10 (опять необходимо прибавить к полученному результату поправку 6).

Тетрада двоично-десятичного сумматора содержит сумматоры 1 и 2 и цепи выработки корректируемой поправки при переполнении или получении числа от 10 до 15.

В последнем случае вырабатывается сигнал переноса.

Двоично-десятичные сумматоры - №1 - открытая онлайн библиотека

Накапливающие сумматоры реализуют с помощью комбинационного сумматора и регистра.

Комбинационные реализуют: Двоично-десятичные сумматоры - №2 - открытая онлайн библиотека

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

Двоично-десятичные сумматоры - №4 - открытая онлайн библиотека

Перед началом суммирования регистр устанавливается в ноль.

Первая сумма равна А.

Двоично-десятичные сумматоры - №5 - открытая онлайн библиотека