This is a C++ Program to Convert a Hexadecimal Number to its decimal Equivalent. Before that, you must have knowledge of the following topics in C++.
Hexadecimal number
The hexadecimal number is represented with a base of 16. It has digits from 0 to 15 to represent, However after 9 the values are represented in Alphabet till 15 such as 10 is represented as A, 11 as B, 12 as C, 13 as D, 14 as E, and 15 as F.
Decimal Number
These are the numbers with a base of 10, which ranges from 0 to 9. These numbers are formed with the combination of 0 to 9 digits such as 24, 345, etc.
Now let us go through a program for Hexadecimal to decimal conversion in C++.
C++ Program to Convert Hexadecimal to Decimal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <iostream> #include <math.h> using namespace std; int main() { char hexDeci[20]; int deci = 0, rem, i = 0, len = 0; cout << "Enter the Hexadecimal Number: "; cin >> hexDeci; //calculating the length of hexa entered while (hexDeci[i] != '\0') { len++; i++; } len--; i = 0; while (len >= 0) { rem = hexDeci[len]; if (rem >= 48 && rem <= 57) rem = rem - 48; else if (rem >= 65 && rem <= 70) rem = rem - 55; else if (rem >= 97 && rem <= 102) rem = rem - 87; else { cout << "The entered hexa digit is invalid"; return 0; //exit the program } deci += (rem* pow(16, i)); len--; i++; } //Display cout << "Decimal Value: " << deci; return 0; } |
Output:
//Run 1
Enter the Hexadecimal Number: 119E
Decimal Value: 4510
//Run 2
Enter the Hexadecimal Number: 45H
The entered hexa digit is invalid
Also, here we have used a while loop to calculate the length of the hexadecimal number entered. However, you can use strlen()
function to calculate the length. Remember to include string.h header file before using this string function.
You may go through the following vice versa program: