| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Перевод длинного числа в другую систему счисления |
| Автор: AlexP11223 22.10.2011, 13:00 |
| Как перевести длинное число из СС от 2 до 10 в 16 и обратно? Хотя бы алгоритм. Числа пока в виде строк. |
| Автор: Чучмек 22.10.2011, 14:20 |
| Умножаешь старшую цифру числа на основание, к произведению прибавляешь следующую цифру, сумму умножаешь на основание и тд Число ABCD c основанием X можно представить как D+C*X+B*X^2+A*X^3= ( (A*X+B)*X+C)*X+D Например для десятичной системы 78923=3+2*10+9*100+8*1000+7*10000=((((7*10)+8)*10+9)*10+2)*10+3 |
| Автор: AlexP11223 22.10.2011, 16:19 |
| А не слишком ли много операцией получится для длинного числа (50-80 знаков)? Других способов перевода нету? Или как это организовать, чтобы считало за приемлемое время? |
| Автор: Чучмек 23.10.2011, 01:28 |
| Быстрей... Ну разве что по частям В двоичной - 10111001 в шестнадцатеричной B9 или 1011=B 1001=9 -> [1011][1001]=[B][9] |