Я думаю о различных способах реализации арифметики произвольной точности (иногда называемой Bignum, Integer или BigInt).
Похоже, что общая идиома - использовать массив для хранения фактического значения и перераспределять его по мере необходимости, если требования к пространству растут или сокращаются.
Точнее, кажется, что размер битов элементов массива часто является вторым по величине широко распространенным (для того, чтобы сделать вычисления с переполнением легче реализовать, возможно?), например. г. язык/платформа поддерживает 128-битные числа → массив из 64-битных чисел + 128-битная переменная для обработки переполнения.
Существуют ли принципиально разные способы реализации арифметики произвольной точности или это "проверенный и верный" способ реализовать ее без огромных потерь производительности?
Мой вопрос касается базовой структуры данных, а не алгоритмов для операций. Я знаю Карацуба, Тоом-Кук и др.