The hexadecimal numbers are base 16 numbers that use 16 symbols {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} to represent all digits. Here, (A, B, C, D, E, F) represents (10, 11, 12, 13, 14, 15). Decimal numbers are base 10 numbers with 10 symbols to represent all digits.
In this article, we will learn to write a program in C++ to convert the hexadecimal number into an equivalent decimal number.
Algorithm
Initialize a variable dec_value with 0 to store the decimal value.
Traverse the hexadecimal string from right to left and check,
If the current character is a number 0-9, convert it to its corresponding integer by subtracting '0' from its ASCII value.
If the character is a letter from 'A' to 'F', convert it to its corresponding integer by subtracting 'A' from its ASCII value and adding 10 to it.
Multiply each digit of the hexadecimal number with the proper base (Power of 16) and add it to the variable dec_value.
Update the base value in each iteration by multiplying it by 16.
After traversing all the digits of the hexadecimal number, the variable dec_value will store the equivalent decimal number.
The below diagram explains how to convert a hexadecimal number (1AB) to an equivalent decimal value: