Некоторые методики эффективного вычисления длинных выражений:
- Длинная арифметика в факторизованном виде. 1 Число хранится не в исходном виде, а в виде степеней каждого входящего в него простого числа. 1 Этот метод экономит память и позволяет быстрее производить умножение и деление, но сложение или вычитание выполнить невозможно. 1
- Длинная арифметика по системе простых модулей. 1 Выбирается система модулей (обычно небольших, помещающихся в стандартные типы данных), и число хранится в виде вектора из остатков от его деления на каждый из этих модулей. 1 В таком виде можно быстро производить сложение, вычитание и умножение. 1 Однако перевод числа из модульного вида в обычный вид требует значительных временных затрат. 1
- Использование алгоритмов быстрого умножения. 13 К длинным числам применимы, например, быстрое преобразование Фурье и алгоритм Карацубы. 13
- Хранение длинных чисел в виде строки или массива цифр. 4 Для выполнения арифметических действий с такими числами используются специальные процедуры сложения, умножения и деления, которые основаны на правилах вычисления «в столбик». 4
Для работы с большими числами в современных языках программирования существует много готовых оптимизированных библиотек для длинной арифметики. 2