class DecimalToBase12 {
// Converts a decimal number to base-12 and returns it as a string
public static function decimalToBase12(int $decimalNumber): string {
if ($decimalNumber === 0) {
return "0";
}
$digits = str_split("0123456789AB"); // Base-12 digits (A = 10, B = 11)
$base12 = "";
while ($decimalNumber > 0) {
$remainder = $decimalNumber % 12;
$base12 .= $digits[$remainder];
$decimalNumber = intdiv($decimalNumber, 12);
}
// Reverse to get the correct order
return strrev($base12);
}
}
// Main execution
$decimalNumber = 100;
$base12Number = DecimalToBase12::decimalToBase12($decimalNumber);
echo "Base-12 representation: $base12Number\n";
$decimalNumber = 19621;
$base12Number = DecimalToBase12::decimalToBase12($decimalNumber);
echo "Base-12 representation: $base12Number\n";
/*
run:
Base-12 representation: 84
Base-12 representation: B431
*/