How to convert hexadecimal to binary using c language ?



How to convert hexadecimal to binary using c language ?

#include<stdio.h>
#include<conio.h>
void main()
{
	clrscr();
	long int i=0;
	char binarynum[100], hexdec[100];
	printf("Enter Hexadecimal Value : ");
	scanf("%s",hexdec);
	printf("\nEqual Binary value is : ");
	while(hexdec[i])
	{
		switch(hexdec[i])
		{
			case '0' : printf("0000");
				break;
			case '1' : printf("0001");
				break;
			case '2' : printf("0010");
				break;
			case '3' : printf("0011");
				break;
			case '4' : printf("0100");
				break;
			case '5' : printf("0101");
				break;
			case '6' : printf("0110");
				break;
			case '7' : printf("0111");
				break;
			case '8' : printf("1000");
				break;
			case '9' : printf("1001");
				break;
			case 'A' : printf("1010");
				break;
			case 'B' : printf("1011");
				break;
			case 'C' : printf("1100");
				break;
			case 'D' : printf("1101");
				break;
			case 'E' : printf("1110");
				break;
			case 'F' : printf("1111");
				break;
			case 'a' : printf("1010");
				break;
			case 'b' : printf("1011");
				break;
			case 'c' : printf("1100");
				break;
			case 'd' : printf("1101");
				break;
			case 'e' : printf("1110");
				break;
			case 'f' : printf("1111");
				break;
			default : printf("\nInvalid hexadecimal digit %c",hexdec[i]);
		}
		i++;
	}
	getch();
}

Output

Enter Hexadecimal Value : AB1c
Equal Binary value is : 1010101100011100

Explanation:

Hexadecimal and Binary Values

Hex Decimal Binary
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
A 10 1010
B 11 1011
C 12 1100
D 13 1101
E 14 1110
F 15 1111
  • We want to convert hexadecimal number AB1c to binary. For this we will replace each hexadecimal digit to binary values using the above table:

Hexadecimal Number: A B 1 c
Binary Values: (1010) (1011) (0001) (1100)
So (AB1c)16 = (1010101100011100)2


Related Searches to How to convert hexadecimal to binary using c language ?