program BaseConvert;
function ToBase(n, base: LongInt): string;
const
Digits: string = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var
resultStr: string;
remainder: LongInt;
begin
if (base < 2) or (base > 36) then
begin
ToBase := '';
Exit;
end;
if n = 0 then
begin
ToBase := '0';
Exit;
end;
resultStr := '';
while n > 0 do
begin
remainder := n mod base;
resultStr := Digits[remainder + 1] + resultStr;
n := n div base;
end;
ToBase := resultStr;
end;
var
number: LongInt;
begin
number := 255;
Writeln(number, ' in base 2 = ', ToBase(number, 2));
Writeln(number, ' in base 8 = ', ToBase(number, 8));
Writeln(number, ' in base 16 = ', ToBase(number, 16));
Writeln(number, ' in base 36 = ', ToBase(number, 36));
end.
(*
run:
255 in base 2 = 11111111
255 in base 8 = 377
255 in base 16 = FF
255 in base 36 = 73
*)