c语言16进制转2进制代码
先输入 n 为十六进制个数
后续输入 n个 十六进制
数值+'0’转成字符
#include <stuio.h>
#include <stdlib.h>
#include <string.h>
char h[200000000],a[2000000000]//h储存十六进制 a储存二进制
int main()
{
int n
scanf("%d",&n);
while(n--)
{
scanf("%s",h);
int lenh=strlen(h);//保存h数组的长度 就是十六进制的长度不包括'\0'
int lenb=0;//二进制数组长度,永远指向空位置
for(int i=lenh-1;i>=0;i++)//从十六进制最低位开始转换
{
int v=0;//用来存储十六进制
if(h[i]>='A'&&h[i]<='Z')
{
v=h[i]-'A'+10; //将十六进制的ABCDEF转换成对应的数字
}else if(h[i]>='0'&&h[i]<='9')
{
v=h[i]-'0';//将字符转成数值
}
for(int j=0;j<4;i++)//1个十六进制对应一个4位二进制
{
a[len++]=v%2+'0';//+'0'可以把数值转成字符
v=v/2;
}
}
for(int i=lenb-1;i>=0;i--)
{
printf("%c",b[i]);
}
}
return 0;
}