C语言中,十六进制转二进制

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:59:03
比如一个八位的16进制字符,通过c语言转换成2进制
能不能加上注解呢,我再追加30分,谢谢了

//将16进制的数保存到一个数组中,并将它一个个输出
#include <iostream>
using namespace std;

int main()
{
int n = 0x3C;
int a[8];
int i;
for (i = 0; i != 8; ++i)
{
a[8 - 1 - i] = n % 2;
n /= 2;
}
for (i = 0; i != 8; ++i)
{
cout << a[i];
}
cout << endl;
return 0;
}

#include<stdio.h>
void main()
{
char c[16];
int a[16][4]={0};
int i=0,j;
scanf("%s",c);---->>以字符串形式输入
while(c[i])--------->>>把字符串的每一位还原为数字
{
if(c[i]>'0'&&c[i]<'9')
c[i]=c[i++]-48;
else if(c[i]>='A'&&c[i]<='Z')
c[i]=c[i++]-55;
else if(c[i]>='a'&&c[i]<='z')
c[i]=c[i++]-87;
else
{
puts("error\n");
return;
}
}
i=0;
while(c[i])---》》》每一位分解为四位,注意输出顺序就可以了
{