C Program to Convert Hexadecimal Number to Binary Number System

Here is a C program to convert hexadecimal number to binary number system.

Required Knowledge

Hexadecimal number system is a base 16 number system using digits 0 to 9 and A to F, whereas Binary number system is base 2 and using digits 0 and 1. Given an hexadecimal number as input from user convert it to binary number.

For Example
123A in Hexadecimal is equivalent to 0001001000111010 in Binary number system.

Algorithm to convert Hexadecimal to Binary number
  • Create a mapping between hexadecimal digits and binary sequence.
  • Now, replace each hexadecimal digit with it's corresponding binary sequence as mentioned in below program.

C program to convert a hexadecimal number to binary number

#include <stdio.h>  
#include <string.h>  
  
int main() {  
    char *hexDigitToBinary[16] = {"0000", "0001", "0010", "0011", "0100", "0101", 
 "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"};    
    char hexDigits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
      '9', 'A', 'B', 'C', 'D', 'E', 'F'};
    char hexadecimal[30], binaryNumber[100];   
    int i = 0, j, index=0;  
  
    /* 
     * Take a hexadecimal number as input from user 
     */  
    printf("Enter a Hexadecimal Number\n");  
    scanf("%s", hexadecimal);
  
    /* 
     * Find he hexadecimal digit in hexDigits and the substitute it
     * with corresponding value in hexDigitToBinary
     */  
    for(i=0; hexadecimal[i] != '\0'; i++)  {  
        for(j = 0; j < 16; j++){
            if(hexadecimal[i] == hexDigits[j]){
                strcat(binaryNumber, hexDigitToBinary[j]);
            }
        }
    }  
  
    printf("Binary Number : %s", binaryNumber);  
  
    return 0;  
}
Output
Enter a Hexadecimal Number
123A
Binary Number : 0001001000111010
Enter a Hexadecimal Number
11CD
Binary Number : 0001000111001101

Related Topics
C program to convert hexadecimal number to decimal number system
C program to convert decimal number to hexadecimal number system
C program to convert octal number to hexadecimal number system
C program to convert a binary number to hexadecimal number system
C program to convert decimal number to octal number
C program to convert temperature from celsius to fahrenheit
C program to convert kilometer to miles
C program to make a simple calculator using switch statement
C program to find sum of digits of a number using recursion
List of all C programs