12-01-2007, 06:20 PM
program bases_convt_dec (input, output);
var s:char; (* Convert integer number of Different bases to Decimal *)
k:string;
count,base,err:integer;
z,b,pv : longint;
procedure cvt;
begin
case s of
'0'..'9' : val(s,b,err);
'A' : b:=10;
'B' : b:=11;
'C' : b:=12;
'D' : b:=13;
'E' : b:=14;
'F' : b:=15;
end;
end;
begin
write('Enter base :');
readln(base);
write('Enter number :');
readln(k);
pv:=1; (* value of unit digit *)
z:=0;
s:=k[length(k)];
cvt;
z:=z+b;
for count:= length(k) - 1 downto 1 do begin
pv:= pv * base;
s:= k[count];
cvt;
z:=z+(b*pv);
writeln(k,' (base ',base,') = ',z,' (base 10)');
end;
end.
var s:char; (* Convert integer number of Different bases to Decimal *)
k:string;
count,base,err:integer;
z,b,pv : longint;
procedure cvt;
begin
case s of
'0'..'9' : val(s,b,err);
'A' : b:=10;
'B' : b:=11;
'C' : b:=12;
'D' : b:=13;
'E' : b:=14;
'F' : b:=15;
end;
end;
begin
write('Enter base :');
readln(base);
write('Enter number :');
readln(k);
pv:=1; (* value of unit digit *)
z:=0;
s:=k[length(k)];
cvt;
z:=z+b;
for count:= length(k) - 1 downto 1 do begin
pv:= pv * base;
s:= k[count];
cvt;
z:=z+(b*pv);
writeln(k,' (base ',base,') = ',z,' (base 10)');
end;
end.