# C Program For Decimal to Hexadecimal Conversion

Here we will build a C Program For Decimal to Hexadecimal Conversion using 4 different approaches i.e.

1. Using format specifier
2. Using modulus division operator
3. Without using the modulus division operator
4. Using Functions

We will keep the same input in all the mentioned approaches and get an output accordingly.

Input:

decimal number = 45

Output:

## C

 // C Program to demonstrate Decimal to Hexadecimal // Conversion using the format specifier #include   int main() {     int decimalNumber = 45;         // printing hexadecimal number     // using format specifier %X     printf("Hexadecimal number is: %X", decimalNumber);     return 0; }

Output

## C

 // C Program to demonstrate Decimal to Hexadecimal // Conversion using the modulus division operator #include   int main() {       int decimal_Number = 45;     int i = 1, j, temp;     char hexa_Number[100];         // if decimal number is not      // equal to zero then enter in     // to the loop and execute      // the statements     while (decimal_Number != 0) {         temp = decimal_Number % 16;                 // converting decimal number          // in to a hexa decimal         // number         if (temp < 10)             temp = temp + 48;         else            temp = temp + 55;         hexa_Number[i++] = temp;         decimal_Number = decimal_Number / 16;     }     // printing the hexa decimal number     printf("Hexadecimal value is: ");     for (j = i - 1; j > 0; j--)         printf("%c", hexa_Number[j]);       return 0; }

Output

## C

 // C Program to demonstrate Decimal to Hexadecimal // Conversion without using the modulus  // division operator   #include   int main() {       int decimal_Number = 45;     int i = 1, j, temp;     char hexa_Number[100];         // if decimal number is not      // equal to zero then enter in     // to the loop and execute      // the statements     while (decimal_Number != 0) {         int ch = decimal_Number / 16;         int r = ch * 16;         temp = decimal_Number - r;                 // converting decimal number         // in to a hexa decimal number         if (temp < 10)             temp = temp + 48;         else            temp = temp + 55;         hexa_Number[i++] = temp;         decimal_Number = decimal_Number / 16;     }         // printing the hexa decimal number     printf("Hexadecimal value is: ");     for (j = i - 1; j > 0; j--)         printf("%c", hexa_Number[j]);       return 0; }

Output

## C

 // C Program to demonstrate Decimal to Hexadecimal // Conversion using the functions   #include   int dec_to_hexa_conversion(int decimal_Number) {     int i = 1, j, temp;     char hexa_Number[100];         // if decimal number is not      // equal to zero then enter in     // to the loop and execute the     // statements     while (decimal_Number != 0) {         temp = decimal_Number % 16;                 // converting decimal number          // in to a hexa decimal         // number         if (temp < 10)             temp = temp + 48;         else            temp = temp + 55;         hexa_Number[i++] = temp;         decimal_Number = decimal_Number / 16;     }     // printing the hexa decimal number     printf("Hexadecimal value is: ");     for (j = i - 1; j > 0; j--)         printf("%c", hexa_Number[j]); }   int main() {       int Number = 45;         // Calling the function     dec_to_hexa_conversion(Number);     return 0; }

Output