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

1 Answer

0 votes
#include <iostream>
#include <string>
#include <algorithm>

std::string decimalToBase12(int decimalNumber) {
    if (decimalNumber == 0) return "0";

    std::string base12 = "";
    const char digits[] = "0123456789AB"; // Base-12 digits (A = 10, B = 11)

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

    std::reverse(base12.begin(), base12.end()); // Reverse to get the correct order

    return base12;
}

int main() {
    int decimalNumber = 100;;
    std::string base12Number = decimalToBase12(decimalNumber);

    std::cout << "Base-12 representation: " << base12Number << std::endl;
    
    decimalNumber = 19621 ;;
    base12Number = decimalToBase12(decimalNumber);

    std::cout << "Base-12 representation: " << base12Number << std::endl;
}



/*
run:

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

*/

 



answered Sep 9, 2025 by avibootz
edited Sep 11, 2025 by avibootz

Related questions

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