C program for hexadecimal to
binary conversion
#include<stdio.h>
#define MAX 1000
int main(){
char
binaryNumber[MAX],hexaDecimal[MAX];
long int i=0;
printf("Enter
any hexadecimal number: ");
scanf("%s",hexaDecimal);
printf("\nEquivalent
binary value: ");
while(hexaDecimal[i]){
switch(hexaDecimal[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
",hexaDecimal[i]); return 0;
}
i++;
}
return 0;
}
Sample output:
Enter any hexadecimal number: 2AD5
Equivalent binary value: 0010101011010101
Algorithm:
Hexadecimal to
binary conversion method:
To convert or change the
hexadecimal number to binary number replace the each octal digits by a binary
number using hexadecimal to binary chart.
Hexadecimal
|
Binary
|
0
|
0000
|
1
|
0001
|
2
|
0010
|
3
|
0011
|
4
|
0100
|
5
|
0101
|
6
|
0110
|
7
|
0111
|
8
|
1000
|
9
|
1001
|
A
|
1010
|
B
|
1011
|
C
|
1100
|
D
|
1101
|
E
|
1110
|
F
|
1111
|
Hexadecimal to
binary table
Hexadecimal to
binary conversion examples:
For example we want to
convert or change hexadecimal number 65B2 to binary. For this we will replace
each hexadecimal digit to binary values using the above table:
Hexadecimal number: 6 5 B 2
Binary values: 0110 0101 1011 0010
So (65B2)16 = (0110010110110010)2