#include<stdio.h> #include<math.h> inthosi(char input[]) { int i = 0; int j = 0; int x = 0; int a = 0, b = 0, c = 0; staticint sum = 0; for (i=0; input[i+1]!='\0'; i++) { ;//计算出输入的十六进制数的位数 } for (j=i; j>=2; j--) { if (input[j] >='0' && input[j] <='9') { a = input[j] - '0'; } if (input[j] >='a' && input[j] <='f') { a = input[j] - 'a' + 10; } if (input[j] >='A' && input[j] <='F') { a = input[j] - 'A' + 10; } for (x = 0; x<=c ;x++) { b = a * pow(16,x); } c++; sum = sum + b; } return sum; } intmain() { char input[20] = {0}; scanf("%s",&input); int ret = hosi(input); printf("%d\n",ret); return0; }