C Program to Convert Decimal to Hexadecimal

This is a C Program to Convert a Decimal Number to its Hexadecimal 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 decimal to hexadecimal conversion in C.


C Program to Convert Decimal to Hexadecimal

#include <stdio.h>
#include <conio.h>

int main()
{
  int decimalnum, rem, i = 0;
  char hexanum[50];

  printf("Enter a Decimal number: ");
  scanf("%d", &decimalnum);

  while (decimalnum != 0)
  {
    rem = decimalnum % 16;
    if (rem < 10)
      rem = rem + 48;
    else
      rem = rem + 55;
    hexanum[i] = rem;
    i++;
    decimalnum /= 16;
  }

  printf("Equivalent Hexadecimal Value: ");
  for (i = i - 1; i >= 0; i--)
    printf("%c", hexanum[i]);

  getch();
  return 0;
}

Output:

Enter a Decimal number: 125
Equivalent Hexadecimal Value: 7D