#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; }