将2进制改为10进制

41 阅读1分钟

#include<stdio.h>
int main()
{
int n,p=1;
int y=0,yushu;
while(scanf("%d",&n)!=EOF)
{
p=1;
y=0;
while(n/2>=0)
{
yushu=n%2;
n=n/2;
y+=yushu*p;
p*=10;
if(n<2)
{
y+=n*p;
break;
}

    }
printf("%d",y);
printf("\n");
}
return 0;
}

对于将2进制改为10进制我们常用“除2取余法”,但关键是对于取余后的数我们要按位输出,这里的变量p就起到了这个作用!