Этот вопрос касается связи между нормальным умножением двоичных чисел и модулем умножения полиномов. Чтобы конкретизировать вопрос, я в идеале хотел бы знать, существует ли лучшее решение вопроса из Кнута тома. 2, 3-е издание, стр. 420, чем приведенное в книге.
«Может ли умножение многочленов по модулю 2 быть облегчено с помощью обычных арифметических операций на двоичном компьютере, если коэффициенты упакованы в компьютерные слова».
Кнут дает достаточно простое сокращение, которое увеличивает число битов на входе на логарифмический множитель в худшем случае. Можно ли уменьшить этот логарифмический фактор?
Ответы:
Конечно, вы можете уменьшить его в 1 раз, но, вероятно, ценой времени. Но чтобы ответить на вопрос, стоящий за вопросом: умножение полиномов мод 2 проще с аппаратной точки зрения (не нужно распространять биты переноса), но умножение целых чисел является операцией, которую люди считают существенной, и поэтому имеет прямую поддержку в ALU и языки программирования.
источник