#include<stdio.h>
long i,x,j=0;
long xx[64]={0};
void main(void)
{
while(1)
{
scanf("%d",&i);
do
{
long a=0,b=0,c=0,d=0,n=0;
for(n=1;n<5;n++)
{
x=i%10;
i=i/10;
switch(n)
{
case 1: a=x*1;break;
case 2: b=x*2;break;
case 3: c=x*4;break;
case 4: d=x*8;break;
}
}
xx[j++]=a+b+c+d;
}while(i!=0);
for(;j>0;)
printf("%x",xx[--j]);
printf("\n");
}
}
/*这段程序是输入二进制转换成十六进制!可是为什么只能转换十位二进制数,我输入11位二进制数的时候就出现乱码了!求解释,*/
那怎么样输入才算二进制呢?