Я должен реализовать некоторую арифметику Бигнума. Число должно быть разбито на список 16-битных целых чисел.
Это не проблема. Проблема состоит в том, чтобы разобрать строку в этой записи. Если бы это было одно целое число, я бы прошел строку назад, вытащил число из символа и добавил бы * 10 ^ строковое положение. (последний символ имеет строковую позицию 1 в этом примере)
Но у bignum не должно быть умножения, и я думаю, что должен быть более умный и быстрый способ. (Умножение int равно O (1); умножение bignum отсутствует)
Как это сделать?
(я не могу использовать полную библиотеку, такую как gmp)