function toBase(n: number, base: number): string {
const digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (base < 2 || base > 36) {
throw new Error("Base must be between 2 and 36");
}
if (n === 0) {
return "0";
}
let result = "";
while (n > 0) {
const remainder = n % base;
result += digits[remainder];
n = Math.floor(n / base);
}
return result.split("").reverse().join("");
}
// Main program
try {
const number = 255;
console.log(`${number} in base 2 = ${toBase(number, 2)}`);
console.log(`${number} in base 8 = ${toBase(number, 8)}`);
console.log(`${number} in base 16 = ${toBase(number, 16)}`);
console.log(`${number} in base 36 = ${toBase(number, 36)}`);
} catch (err: any) {
console.error("Error:", err.message);
}
/*
run:
"255 in base 2 = 11111111"
"255 in base 8 = 377"
"255 in base 16 = FF"
"255 in base 36 = 73"
*/