#include <iostream> #include <cmath> using namespace std; int count(int i){ int res = 1; while(i>0){ res *= 16; i--; } return res; } int main(){ // 输入一个十六进制的数0xFA93,将其转换为十进制 string s; cin>>s; // 前两个字符是表示十六进制的字符 int res = 0; int countNum = 0; for(int i = s.length() - 1; i >= 2; --i){ // 从最后一位开始 if(s[i] >= '0' && s[i] <= '9'){ // 转成数字 int num = s[i] - '0'; // 进行计算 res += num*count(countNum++); }else if(s[i] >= 'A' && s[i] <= 'F'){ // 转到数字,范围为10~15 int num = s[i] - 'A' + 10; res += num*count(countNum++); } } // 输出结果 std::cout<<res<<std::endl; }