十六进制转换二进制
在C中将十六进制转换为二进制
什么是十六进制?
十六进制是一个位置系统,以十六个不同的符号表示数字以16为基数这些不同的符号,即" 0-9 "代表从零到九的值,而" A-F "代表从十到十五的值。
什么是二进制?
二进制是一个以2为底的数字系统表示的数字,它使用两个符号,即0和1、
示例
假设十六进制数字为A12C。现在我们计算十六进制的二进制值。
十六进制数= A12C
等于A的二进制值是1010
等于1的二进制值是0001
等于2的二进制值是0010
等于C的二进制值是1100
因此,等于A12C的二进制值是1010000100101100。
注意: 要将十六进制转换为二进制数,将对十六进制数的每个数字的二进制值求值并合并以获得给定十六进制数的二进制数。
让我们通过一个例子来理解。
#include<stdio.h>
void hextobin(char b[]);
void main()
{
char hex[]="A12C";
hextobin(hex);
}
void hextobin(char hex[])
{
int i=0;
while(hex[i])
{
switch(hex[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("1000");
break;
case 'A':
printf("1010");
break;
case 'a':
printf("1010");
break;
case 'B':
printf("1011");
break;
case 'b':
printf("1011");
break;
case 'C':
printf("1100");
break;
case 'c':
printf("1100");
break;
case 'D':
printf("1101");
break;
case 'd':
printf("1101");
break;
case 'E':
printf("1110");
break;
case 'e':
printf("1110");
break;
case 'F':
printf("1111");
break;
case 'f':
printf("1111");
break;
}
i++;
}}
在上面的代码中,我们要计算" A12C "的二进制值。我们首先将此值存储在名为 hex [] 的字符数组中,然后将该数组传递给hextobin()函数。 hextobin()将计算数字的二进制值,通过while循环迭代数组的每个元素,并通过switch语句查找每个对应元素的二进制值。
输出