How to convet decimal number base-12 number in C#

1 Answer

0 votes
using System;
using System.Text;

public class DecimalToBase12Class
{
    // Converts a decimal number to base-12 and returns it as a string
    public static string DecimalToBase12(int decimalNumber) {
        if (decimalNumber == 0) return "0";

        StringBuilder base12 = new StringBuilder();
        char[] digits = "0123456789AB".ToCharArray(); // Base-12 digits (A = 10, B = 11)

        while (decimalNumber > 0) {
            int remainder = decimalNumber % 12;
            base12.Append(digits[remainder]);
            decimalNumber /= 12;
        }

        // Reverse to get the correct order
        char[] reversed = base12.ToString().ToCharArray();
        Array.Reverse(reversed);
        
        return new string(reversed);
    }

    public static void Main(string[] args)
    {
        int decimalNumber = 100;
        string base12Number = DecimalToBase12(decimalNumber);

        Console.WriteLine("Base-12 representation: " + base12Number);

        decimalNumber = 19621;
        base12Number = DecimalToBase12(decimalNumber);

        Console.WriteLine("Base-12 representation: " + base12Number);
    }
}



/*
run:

Base-12 representation: 84
Base-12 representation: B431

*/

 



answered Sep 11, 2025 by avibootz

Related questions

1 answer 159 views
1 answer 161 views
1 answer 151 views
1 answer 155 views
1 answer 182 views
1 answer 185 views
...