[ссылка заблокирована по решению администрации проекта]
uses crt;
var n:longint;
k:integer;
function Sym (n : integer) : char; {функия перевода десятичного числа в символьное представление}
begin
case n of
0..9: Sym := chr(48+n);
10..36: Sym := chr(55+n); {10-A, 11-B, 12-C, 13-D, 14-E, 15-F и так далее}
end;
end;
function DecToX (n : longint; k : integer) : string; {из десятиричной в произвольную c основанием 2<=k<=36}
var st : string;
begin
st := '';
if n = 0 then st := '0' else
begin
while n>=1 do
begin
st := Sym (n mod k) + st;
n := n div k;
end;
end;
DecToX := st;
end;
begin
write('Введите число в десятиричной системе счисления -> ');
readln(N);
write('Система счисления, в какую необходимо перевести (2..36) ');
repeat
write('-> ');
readln(K);
until (2 <= k) and (k <= 36);
writeln(N, '(10)=', DecToX(N,k),'(',k,')');
end.
Из 10 в 2 :
var
N : Word;
D : String;
begin
Write('Число в 10 сс от 0 до 65535. Введите N = '); ReadLn(N);
D := ''; while N > 0 do begin D := Chr((N and 1) + 48); N := N shr 1; end;
WriteLn('В 2 сс N = ', D);
end.