例题1:二进制转化为十六进制
#include <stdio.h>
#include <string.h>
int main()
{
char in[105],out[105];
scanf("%s",&in);
int len,i,cnt,n,ans;
ans = 0;
len = strlen(in);
for(i=0;i<len;i++)
{
ans = ans * 2;
ans += in[i] - '0';
}
printf("%d\n",ans);
cnt = 0;
while(ans>0)
{
n = ans % 16;
if(n>10)
out[cnt++] = n + 'A' - 10;
else
out[cnt++] = n + '0';
ans = ans /16;
}
for(i=cnt-1;i>=0;i--)
{
printf("%c",out[i]);
}
printf("\n");
return 0;
}