#include <stdio.h>
#include <math.h>
#include <string.h>
#define N 32
int main() {
int num[N];
char c[N];
int dnum; //十进制数
int length;
while(scanf("%s",c)!=EOF){
dnum=0;
length=strlen(c);
for(int i=0;i<length;i++){
num[i]=c[i]-'0';
}
for(int i=length-1;i>=0;i--){
dnum+=num[length-i-1]*(pow(2, i+1)-1); //注意num[]低位存放数值高位
}
printf("%d\n",dnum);
}
return 0;
}

京公网安备 11010502036488号