C Program To Convert Decimal To Hexadecimal Number
Learn How To Convert Decimal To Hexadecimal Number in C Programming Language. This C code for Decimal Number to Hexadecimal Conversion makes use of pow() function, While loop and For loop.
Decimal Number
A Decimal Number has a base 10 and includes digits the following digits: 0 1 2 3 4 5 6 7 8 9
Hexadecimal Number
A Hexadecimal Number has a base 16 and includes the following values: 0 1 2 3 4 5 6 7 8 9 A B C D E F where,
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.
Method 1: C Program To Convert Decimal To Hexadecimal Value using While Loop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> #include<math.h> int main() { int decimal_number, remainder, hexadecimal_number = 0; int count = 0; printf("Enter a Decimal Number:\t"); scanf("%d", &decimal_number); while(decimal_number != 0) { remainder = decimal_number % 16; hexadecimal_number = hexadecimal_number + remainder * pow(10, count); decimal_number = decimal_number / 16; count++; } printf("\nHexadecimal Equivalent:\t%d\n", hexadecimal_number); return 0; } |
Method 2: C Program For Decimal Number To Hexadecimal Conversion using For Loop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include<stdio.h> #include<math.h> int main() { int decimal_number, remainder, hexadecimal_number = 0; int count; printf("Enter a Decimal Number:\t"); scanf("%d", &decimal_number); for(count = 0; decimal_number > 0; count++) { remainder = decimal_number % 16; hexadecimal_number = hexadecimal_number + remainder * pow(10, count); decimal_number = decimal_number / 16; } printf("\nHexadecimal Equivalent:\t%d\n", hexadecimal_number); return 0; } |
Method 3: C Program To Convert Decimal To Hexadecimal Number using Functions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<stdio.h> #include<math.h> int decimal_to_hexadecimal(int x) { int hexadecimal_number, remainder, count = 0; for(count = 0; x > 0; count++) { remainder = x % 16; hexadecimal_number = hexadecimal_number + remainder * pow(10, count); x = x / 16; } return hexadecimal_number; } int main() { int decimal_number, result; printf("Enter a Decimal Number:\t"); scanf("%d", &decimal_number); result = decimal_to_hexadecimal(decimal_number); printf("\nHexadecimal Equivalent:\t%d\n", result); return 0; } |
Output

If you have any compilation error or doubts in this C Program For Decimal Value to Hexadecimal Number Conversion, let us know about it in the Comment Section below.
Can you explain ” hexadecimal_number = hexadecimal_number + remainder * pow(10, count);” in the 3rd example please?
I tried executing the above program on an online IDE and it returns 11 as the hexadecimal value for both – 11 and 17. Note: Both 11 and 17 are decimal input values.
this is not for proper conversion 45 decimal and 51 decimal gives the same values of hex according to this programm 33.