Перевод из десятичной с.с в любую и наоборот.function FromDec(n, radix:longint):string;
var
s: String;
const
digit: string[16]='0123456789ABCDEF';
begin
s:='';
repeat
s:=digit[(n mod radix)+1]+s;
n:=n div radix;
until n=0;
FromDec:=s;
end;
function ToDec(n:string; radix:longint):longint;
var
m, i: longint;
const
digit: string[16]='0123456789ABCDEF';
begin
m:=0;
while (n[1]='0') and (length(n) > 1) do delete(n,1,1);
for i:=1 to length(n) do m:=m*radix+pos(n[i],digit)-1;
ToDec:=m;
end;
Как проверить, является ли строка корректным представлением числа в определенной системе счисления ?Допустимые значения radix: 2 .. 36
function isCorrect(n: string; radix: byte): boolean;
const
symbols: string = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
bad: boolean;
i: integer;
begin
bad := False;
i := 0;
repeat
inc(i);
bad := (pos(n[i], copy(symbols, 1, radix)) = 0);
until bad or (i = length(n));
isCorrect := not bad;
end;