Помогите пожалуйста! Нужно написать программу которая возводит число(n) в какой то системе счисления(p) в какую то другую (q). (системы счисления до 10) Самое главное, не понимаю как перевести число в десятичную систему счислен...

Помогите пожалуйста! Нужно написать программу которая возводит число(n) в какой то системе счисления(p) в какую то другую (q). (системы счисления до 10) Самое главное, не понимаю как перевести число в десятичную систему счисления на паскале(не всю если программу то хотя бы этот цикл по возведению числа в степень) .
Гость
Ответ(ы) на вопрос:
Гость
function aToDec(n:string;k:integer):longint; { Перевод из системы по основанию k в десятичную } var   i:integer;   pa,s:longint; begin   s:=0;   pa:=1;   for i:=Length(n) downto 1 do begin     s:=s+pa*(Ord(n[i])-Ord('0'));     pa:=pa*k     end;   aToDec:=s end; function DecToa(n:longint;k:integer):string; { Перевод из десятичной системы в систему по основанию k } var   s:string;   c:integer; begin   s:='';   c:=Ord('0');   while n>0 do begin     s:=Chr(c+n mod k)+s;     n:=n div k     end;   DecToa:=s end; function AtoB(s:string;A,B:integer):string; { Перевод из системы по основанию A в систему по основанию B } begin   AtoB:=DecToa(aToDec(s,A),B) end;      var   a,b:integer;   n:string; begin   Write('Число в c/c по основанию [2;10]: '); Readln(n);   Writeln('Укажите исходное и результирующее основания: ');   Read(a,b);   Writeln(n,'(',a,') = ',AtoB(n,a,b),'(',b,')'); end. Пример решения Число в c/c по основанию [2;10]: 643342414 Укажите исходное и результирующее основания: 7 9 643342414(7) = 80050347(9)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы