[Back to MATH SWAG index] [Back to Main SWAG index] [Original]
(*
From: TIM MCKAY
Subj: RE: COVERTING TO BASE 36
JF> Can someone please show me how I would convert a base 10 number to
JF> base 36? (The one used by RIP)
*)
program convertbase;
const B: integer = 36; { B = the base to convert to }
S: string = ''; { S = the string representation of the
result }
done: boolean = false;
var X, I, F: integer; { X = the original base 10 number
I = the integer portion of the result
F = the fractional portion of the
result }
R: real; { R = the
intermediate real result }
begin
readln(X); { Get original base 10 number }
R:=X;
while (not done) do begin { This loop continues to divide the }
R:= R/B; { result by the base until it reaches 0 }
I:= int (R); { The integer portion of the result is }
R:= I; { reassigned to R }
F:= frac(R) * B; { The fractional portion is converted to}
if f<10 then begin { an integer remainder of the original }
S:=chr(f+$30) + S; { base and converted to a character to }
end else begin { be added to the string representation }
S:=chr(f+$37) + S;
end;
if R<=0 then done:=true; { When R reaches 0 then you're done }
end;
writeln(S);
end.
[Back to MATH SWAG index] [Back to Main SWAG index] [Original]