дело в том, что ваш текст уж очень смахивает на стандартную задачу по computer science. А ваши цитирования - на цитирования on-line лекций. Вот и все.
Ок. Если задача стандартная, то должны быть её стандартные решения.
Пожалуйста, укажите мне их.
Вариантов по переводу из одной системы счисления в другую (для школьников/студентов) море. Например, тут
один из примеров по Google.
Меня интересует алгоритмы
быстрых преобразований (т.к. разрабатывается для медленной однокристалки, к тому же эта функция вспомогательная и на неё нельзя тратить много времени/тактов).
-- Пт окт 15, 2010 23:37:10 --Пока перевожу обычным способом:
Хороший способ. Для большинства случаев достаточен.
На самом деле плохой способ, потому что требует промежуточного представления числа и потребляет большое количество вычислительного времени.
Для перевода из системы счисления с большим основанием в систему счисления с меньшим основанием существует более "удобный" алгоритм:
Плохой способ. Работает только для небольшого количества чисел особого вида, типа "10".
На самом деле есть, конечно, пути оптимизации Вашего алгоритма, но их стоит применять, только если преобразование представления - действительно критическая часть вычислений.
Для начала можно соптимизировать, если обе базы являются степенью одного числа, как 2-, 8- и 16-ричная системы.
К сожалению, базы не являются степенью какого-либо числа. Единственное, что известно про базы точно --- то, что они чётные. Более того, к сожалению, заранее базы не известны. Т.е. нельзя получить заранее аналитическое решение для перевода из 42-ричной системы в 26-ричную, потому что очередное число может быть записано в 60-ричной, а может и в 28-ричной. Да и выходные системы требуются различные.
Буду благодарен вашим предложениям по оптимизации алгоритма.