Here is a C++ program to convert hexadecimal to decimal number. In this C++ programs we will learn about fundamentals of decimal and hexadecimal number system, how to convert decimal numbers to hexadecimal numbers and vice-versa. Given a decimal number we have to convert it to hexadecimal number.
Decimal number system is a base 10 number system using digits 0 and 9 whereas Hexadecimal number system is base 16 number system and using digits from 0 to 9 and A to F.
For Example:2016 in Decimal is equivalent to 7E0 in Hexadecimal number system.
C++ program to convert decimal number to hexadecimal number
#include <iostream> #include <cstring> using namespace std; #define BASE_16 16 int main() { char hexDigits[] = "0123456789ABCDEF"; long decimal; char hexadecimal[40]; int index, remaindar; // Take a Decimal Number as input form user cout << "Enter a Decimal Number\n"; cin >> decimal; index = 0; // Convert Decimal Number to Hexadecimal Numbers while(decimal != 0) { remaindar = decimal % BASE_16; hexadecimal[index] = hexDigits[remaindar]; decimal /= BASE_16; index++; } hexadecimal[index] = '\0'; strrev(hexadecimal); cout << "Hexadecimal Number : " << hexadecimal; return 0; }Output
Enter a Decimal Number 753 Hexadecimal Number : 2F1
Enter a Decimal Number 101 Hexadecimal Number : 3F2
In above program, we first declare a string hexDigits containing all digits of hexadecimal number system(0-9 and A-F). As hexadecimal numbers contains alphabets as digits, we have to use a character array to store hexadecimal numbers.
C++ program to convert hexadecimal number to decimal number
#include <iostream> #include <cstring> #include <cmath> using namespace std; int main() { long long decimalNumber=0; char hexDigits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; char hexadecimal[30]; int i, j, power=0, digit; cout << "Enter a Hexadecimal Number\n"; cin >> hexadecimal; // Converting hexadecimal number to decimal number for(i=strlen(hexadecimal)-1; i >= 0; i--) { // search currect character in hexDigits array for(j=0; j<16; j++){ if(hexadecimal[i] == hexDigits[j]){ decimalNumber += j*pow(16, power); } } power++; } cout <<"Decimal Number : " << decimalNumber; return 0; }Output
Enter a Hexadecimal Number 2F1 Decimal Number : 753
Recommended Posts