> -- Сергей Губанов писал(а):
> Не знал  Неужели существует более быстрый алгоритм преобразования чисел между системами счисления?
Да. Где не нужно использовать операции с длинными числами.
Например, нужно перевести число 5.7.6 из 13-ричной системы в 10-ю.
Для этого можно рассчитать коэффициенты каждого разряда.
(1.0)13 = (1.3)10
(1.0.0)13 = (1.6.9)10
Соответственно, перевод будет сводится к умножению значения разряда на соответствующий коэффициент.
Т.е.
(6)13 = (6)10
(7.0)13 = (7*1.7*3)10 = (7.21)10 = (9.1)10
(5.0.0)13 = (5*1.5*6.5*9)10 = (5.30.45)10 = (8.4.5)10
И осталось только сложить:
(6)10 + (9.1)10 + (8.4.5)10 = (8.4+9.5+1+6)10 = (8.13.12)10 = (9.4.2)10

Здесь нет операций с длинными числами в явном виде, но есть несколько ньюансов.
Самый главный из них --- расчёт коэффициентов для перевода.
Правда я могу наложить ограничение, что переход осуществляется от системы по основанию (2k) к системе с основанием (2(k-1)) или (2(k+1)), это не существенно. Остаётся только понять, даёт-ли это выигрыш при подсчёте коэффициентов.

Возможно существует ещё какой-либо более быстрый способ перевода чисел.