#include <stdio.h>
#define N 2
int main() {
int a,b;
int c[50]={0};
while(scanf("%d",&a)!=EOF){
int i=0,ret=0;
int length=0;
while((a/N)!=0){
b=a%N;
a=a/N;
c[i++]=b;
length++;
}
c[i]=1;
for(int j=i;j>=0;j--)
{
printf("%d",c[j]);
if(c[j]==1){
ret++;
}
}
printf("\n");
printf("ret=%d\n",ret);}
}
注意转换二进制时,不能只用整数类型,会发生数据溢出。