Loop Exercises
Write a C program to input decimal number from user and convert to Hexadecimal number system. How to convert Decimal to Hexadecimal number system in C programming. Logic to convert decimal to hexadecimal number system in C programming.
Required knowledge
Basic C programming, While loop, Array, String
Decimal number system
Decimal number system is a base 10 number system. Decimal number system uses 10 symbols to represent all number i.e. 0123456789
Hexadecimal number system
Hexadecimal number system is a base 16 number system. Hexadecimal number system uses 16 symbols to represent all numbers i.e. 0123456789ABCDEF
Algorithm to convert decimal to hexadecimal number system
Algorithm Conversion from Decimal to Hexadecimal
begin: read (decimal); hex ← NULL; rem ← 0; HEXVALUES[] ← 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F; While(decimal != 0) begin: rem ← decimal % 16; hex ← hex + HEXVALUES[rem]; decimal ← decimal / 16; end; Reverse(hex); print('Hexadecimal = ' hex); end;
Program to convert decimal to hexadecimal number system
/** * C program to convert from Decimal number system to hexadecimal number system */ #include <stdio.h> #include <string.h> int main() { char HEXVALUE[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; long long decimal, tempDecimal; char hex[65]; int index, rem; /* Input decimal number from user */ printf("Enter any decimal number: "); scanf("%lld", &decimal); tempDecimal = decimal; index = 0; /* Decimal to hexadecimal conversion */ while(tempDecimal !=0) { rem = tempDecimal % 16; hex[index] = HEXVALUE[rem]; tempDecimal /= 16; index++; } hex[index] = '\0'; strrev(hex); printf("\nDecimal number = %lld\n", decimal); printf("Hexadecimal number = %s", hex); return 0; }
Output
Enter any decimal number: 427
Decimal number = 427
Hexadecimal number = 1AB