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 | #include <stdio.h> #include <conio.h> #include <math.h> int main() { int decimal = 0, rem, i = 0, len = 0; char hexadecimal[20]; printf("Enter a Hexadecimal number: "); scanf("%s", hexadecimal); while (hexadecimal[i] != '\0') { len++; i++; } len--; i = 0; while (len >= 0) { rem = hexadecimal[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; decimal = decimal + (rem* pow(16, i)); len--; i++; } printf("Equivalent Decimal Value: %d", decimal); getch(); return 0; } |
Output:
Enter a Hexadecimal number: 7D
Equivalent Decimal Value: 125