C++ Program For Hexadecimal To Decimal Conversion
Given a hexadecimal number as input, we need to write a program to convert the given hexadecimal number into an equivalent decimal number.
Examples:Â Â
Input: 67 Output: 103 Input: 512 Output: 1298 Input: 123 Output: 291
We know that hexadecimal number uses 16 symbols {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} to represent all numbers. Here, (A, B, C, D, E, F) represents (10, 11, 12, 13, 14, 15).Â
The idea is to extract the digits of a given hexadecimal number starting from the rightmost digit and keep a variable dec_value. At the time of extracting digits from the hexadecimal number, multiply the digit with the proper base (Power of 16) and add it to the variable dec_value. In the end, the variable dec_value will store the required decimal number.
For Example: If the hexadecimal number is 1A.Â
dec_value = 1*(16^1) + 10*(16^0) = 26
The below diagram explains how to convert a hexadecimal number (1AB) to an equivalent decimal value:Â Â
Below is the implementation of the above idea.Â
C++
// C++ program to convert hexadecimal // to decimal #include <bits/stdc++.h> using namespace std; // Function to convert hexadecimal // to decimal int hexadecimalToDecimal(string hexVal) { int len = hexVal.size(); // Initializing base value to 1, // i.e 16^0 int base = 1; int dec_val = 0; // Extracting characters as digits // from last character for ( int i = len - 1; i >= 0; i--) { // If character lies in '0'-'9', // converting it to integral 0-9 // by subtracting 48 from ASCII value if (hexVal[i] >= '0' && hexVal[i] <= '9' ) { dec_val += ( int (hexVal[i]) - 48) * base; // incrementing base by power base = base * 16; } // If character lies in 'A'-'F' , converting // it to integral 10 - 15 by subtracting 55 // from ASCII value else if (hexVal[i] >= 'A' && hexVal[i] <= 'F' ) { dec_val += ( int (hexVal[i]) - 55) * base; // Incrementing base by power base = base * 16; } } return dec_val; } // Driver code int main() { string hexNum = "1A" ; cout << (hexadecimalToDecimal(hexNum)); return 0; } |
26
Using predefined function
C++
// C++ program to convert octal // to decimal #include <bits/stdc++.h> using namespace std; int HexToDec(string n) { return stoi(n, 0, 16); } // Driver code int main() { string n = "1A" ; cout << HexToDec(n); return 0; } |
26
Please refer complete article on Program for Hexadecimal to Decimal for more details!
Please Login to comment...