А 1000-зачное число - не жирно будет? Откровенно говоря, даже не знаю, как с такими строками управиться в Паскале. Но если устроят максимально 255-значные числа, то, например, так:
Код:
Var
S8,S16:String;
N8,N16:Byte;
R8,R16:Real;
f:Text;
Function N8to10(L:Byte; S:String):Real;
var
k:Byte;
N10,p,r:Real;
begin
k:=0;
p:=1;
N10:=0;
Repeat
Case S[L-k] of
'0': r:=0;
'1': r:=1;
'2': r:=2;
'3': r:=3;
'4': r:=4;
'5': r:=5;
'6': r:=6;
'7': r:=7;
end;
N10:=N10+r*p;
Inc(k);
p:=p*8;
Until k=L;
N8to10:=N10;
end;
Function N16to10(L:Byte; S:String):Real;
var
k:Byte;
N16,p,r:Real;
begin
k:=0;
p:=1;
N16:=0;
Repeat
Case S[L-k] of
'0': r:= 0;
'1': r:= 1;
'2': r:= 2;
'3': r:= 3;
'4': r:= 4;
'5': r:= 5;
'6': r:= 6;
'7': r:= 7;
'8': r:= 8;
'9': r:= 9;
'A': r:=10;
'B': r:=11;
'C': r:=12;
'D': r:=13;
'E': r:=14;
'F': r:=15;
end;
N16:=N16+r*p;
Inc(k);
p:=p*16;
Until k=L;
N16to10:=N16;
end;
Begin
Assign(f,'numbers.dat');
Reset(f);
Readln(f,N8);
Readln(f,S8);
Readln(f,N16);
Readln(f,S16);
Close(f);
R8:=N8to10(N8,S8);
R16:=N16to10(N16,S16);
if R8>R16 then writeln('>') else
if R8<R16 then writeln('<') else
writeln('=');
Readln
End.