home *** CD-ROM | disk | FTP | other *** search
- (*
- 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.
-