- 二进制转化为十六进制
#include<stdio.h>
#include<string.h>
int main()
{
char str1[10],str2[10];
int sum=0,i,j;
scanf("%s",str1);
for(i=0;i<strlen(str1);i++)//先转为十进制
{
sum=sum*2+str1[i]-'0';
}
i=0;
while(sum>0)//再转为十六进制
{
if(sum%16<10)
str2[i]=sum%16+'0';
else
str2[i]=sum%16+'A'-10;
i++;
sum=sum/16;
}
for(j=i-1;j>=0;j--)
printf("%c",str2[j]);
printf("\n");
return 0;
}