1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Type
  TBaseRange=2..32;
Const
  sDigits='0123456789ABCDEFGHIJKLMNOPQRSTUV';
Function IntToAnyBase(num:int64;Base:TBaseRange):string;
var
  tmp1,tmp3:int64;
  str:string;
begin
  str:='';
  tmp3:=num;
  repeat
    tmp1:=tmp3 mod Base;
    tmp3:=tmp3 div Base;
    str:=copy(sDigits,tmp1+1,1)+str;
  until not(tmp3<>0)       ;
  Result:=str;
end;
  
Function AnyBaseToInt(num:string;Base:TBaseRange):int64;
var
  sum:int64;i:longint;
  token:string;
begin
  sum:=0;
  for i:=1 to length(num) do begin
    token:=uppercase(num[i]);
    sum:=Base*sum+(pos(token,sDigits)-1);
  end;
  result:=sum;
end;

با ترکیب این دو تابع می تونی هر مبنایی رو به هر مبنای دیگه تبدیل کنی.