Архив статей журнала
Целью работы является представление метода бинарного сложения n+1-разрядных двоичных чисел, в котором не используется вычисление переноса. Для сложения двух двоичных полиномов выполняется предварительный шаг - параллельно по всем разрядам слагаемых складываются пары коэффициентов равного веса. Двоичные коэффициенты разрядных сумм размещаются согласно весу, образуя двухрядный код промежуточной суммы. При этом все переносы оказываются взаимно отделенными парами промежуточных нулевых коэффициентов равного веса. Цепочки единиц, не содержащие переноса, также отделены парами промежуточных нулевых коэффициентов равного веса друг от друга и от цепочек переноса. Цепочки идентифицируются по граничным значениям их двухрядного кода. На этой основе цепочки единиц, не содержащие переноса, параллельно по всем разрядам переписываются из верхнего ряда в нижний ряд двухрядного кода с сохранением веса коэффициентов. С помощью электронно-логической схемы это выполняется за время переключения логического элемента. Оставшиеся в верхнем ряду цепочки переноса тривиально преобразуются в однорядный код с численной реализацией переноса. Преобразование выполняется параллельно по всем разрядам также за время переключения логического элемента. Остается переписать единичные цепочки, не содержащие переноса, из нижнего ряда в верхний, чтобы получить окончательный однорядный двоичный код суммы входных слагаемых. Время сложения - O(1), число элементов сумматора - O(n). Приводятся обоснования результатов, примеры численных преобразований, электронно-логическая схема поразрядно-параллельной обработки. Метод распространяется на произвольные позиционные системы счисления с натуральным основанием. Наиболее актуальные приложения связаны с ускорением обработки потока арифметических операций и с увеличением точности вычислений в процессах численного моделирования.