Write a C program to read hexadecimal number from user and convert to binary number system. How to convert hexadecimal number system to binary number system in C programming. Logic to convert hexadecimal number to binary number system in C program.

**Example**

**Input**

Input hexadecimal: 1A

**Output**

Decimal number: 26

## Required knowledge

## Hexadecimal number system

Hexadecimal number system is a base 16 number system. It uses 16 symbols to represent all numbers i.e. 0123456789ABCDEF

## Binary number system

Binary number system is a base 2 number system. It uses 2 symbols to represent all numbers i.e. 0 and 1.

## Algorithm to convert Hexadecimal to Binary

Hexadecimal to binary conversion is divided in three steps.

- Extract each hex digits separately.
- Find the binary of each extracted hex digit.
- Store the binary equivalent of extracted hexadecimal number to final bin variable.

**Hexadecimal to binary conversion table**

Decimal | Binary | Hexadecimal |

0 | 0000 | 0 |

1 | 0001 | 1 |

2 | 0010 | 2 |

3 | 0011 | 3 |

4 | 0100 | 4 |

5 | 0101 | 5 |

6 | 0110 | 6 |

7 | 0111 | 7 |

8 | 1000 | 8 |

9 | 1001 | 9 |

10 | 1010 | A |

11 | 1011 | B |

12 | 1100 | C |

13 | 1101 | D |

14 | 1110 | E |

15 | 1111 | F |

## Program to convert hexadecimal to binary

/** * C program to convert Hexadecimal to binary number system */ #include <stdio.h> #include <string.h> int main() { char hex[17], bin[65] = ""; int i = 0; /* * Input hexadecimal number from user */ printf("Enter any hexadecimal number: "); gets(hex); /* * Extract first digit and find binary of each hex digit */ for(i=0; hex[i]!='\0'; i++) { switch(hex[i]) { case '0': strcat(bin, "0000"); break; case '1': strcat(bin, "0001"); break; case '2': strcat(bin, "0010"); break; case '3': strcat(bin, "0011"); break; case '4': strcat(bin, "0100"); break; case '5': strcat(bin, "0101"); break; case '6': strcat(bin, "0110"); break; case '7': strcat(bin, "0111"); break; case '8': strcat(bin, "1000"); break; case '9': strcat(bin, "1001"); break; case 'a': case 'A': strcat(bin, "1010"); break; case 'b': case 'B': strcat(bin, "1011"); break; case 'c': case 'C': strcat(bin, "1100"); break; case 'd': case 'D': strcat(bin, "1101"); break; case 'e': case 'E': strcat(bin, "1110"); break; case 'f': case 'F': strcat(bin, "1111"); break; default: printf("Invalid hexadecimal input."); } } printf("Hexademial number = %s\n", hex); printf("Binary number = %s", bin); return 0; }

Enter any hexadecimal number: 1a Hexademial number = 1a Binary number = 00011010

Happy coding ;)

### Recommended posts

- Loop programming exercises and solutions in C.
- C program to convert Hexadecimal to Octal number system.
- C program to convert Hexadecimal to Decimal number system.
- C program to convert Binary to Hexadecimal number system.
- C program to convert Octal to Binary number system.
- C program to convert Decimal to Binary number system.

Good site.Except the domain. You may have to go for www.codeforwin.com

ReplyDeleteYou will definitely see it soon.

DeleteThis comment has been removed by a blog administrator.

ReplyDelete