📜  C实现十六进制转二进制

📅  最后修改于: 2020-10-23 01:15:01             🧑  作者: Mango

十六进制到C中的二进制

什么是十六进制?

十六进制是一种位置系统,以16为基数表示十六个不同的符号中的数字。这些不同的符号,即“ 0-9″代表从零到九的值,而“ AF”代表从十到十五的值。

什么是二进制?

二进制数是一个以2为底的数字系统表示的数字,它使用两个符号,即0和1。

例子

假设十六进制数为A12C。现在我们计算十六进制数的二进制值。

十六进制数= A12C

相当于A的二进制值是1010

等于1的二进制值是0001

等于2的二进制值是0010

相当于C的二进制值是1100

因此,等效于A12C的二进制值为1010000100101100。


注意:要将十六进制转换为二进制数,将对十六进制数的每个数字的二进制值进行求值并合并以获得给定十六进制数的二进制数。

让我们通过一个例子来理解。

#include
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语句查找每个对应元素的二进制值。

输出量

1010000100101100