Помогите, пожалуйста! Нужно написать программу, которая будет переводить из любой системы счисления в десятеричную. И должны присутствовать mod и div, желательно покороче!

Помогите, пожалуйста! Нужно написать программу, которая будет переводить из любой системы счисления в десятеричную. И должны присутствовать mod и div, желательно покороче!
Гость
Ответ(ы) на вопрос:
Гость
var   s:string;   m,pk:real;   a:array[1..20] of real;   i,k,n:integer; begin   Write('Введите число в системе счисления с основанием [2;16]: ');   Readln(s);   n:=Length(s);   for i:=1 to n do begin     if s[i] in ['0'..'9'] then a[i]:=Ord(s[i])-Ord('0')     else       if s[i] in ['A'..'F'] then a[i]:=Ord(s[i])-Ord('A')+10       else         if s[i] in ['a'..'f'] then a[i]:=Ord(s[i])-Ord('a')+10         else begin           Writeln('Символ ',s[i],' недопустим!');           Exit           end     end;   Write('Введите основание системы счисления: '); Read(k);   if (k<2) or (k>16) then begin     Writeln('Такое значение недопустимо!');     Exit     end;   m:=a[n];   pk:=k;   for i:=n-1 downto 1 do begin     m:=m+a[i]*pk;     pk:=pk*k     end;   Writeln('Десятичный эквивалент введенного числа равен ',m) end. Тестовое решение Введите число в системе счисления с основанием [2;16]: 4e32Ca Введите основание системы счисления: 16 Десятичный эквивалент введенного числа равен 5124810
Не нашли ответ?
Ответить на вопрос
Похожие вопросы