#include <iostream> #include <cstdio> using namespace std; int main() { getchar(), getchar(); string s; cin>>s; int n=s.size(); int x=0; for(int i=0; i<=n-1; i++) { if(s[i]>='0' && s[i]<='9') x=x*16+s[i]-'0'; else x=x*16+s[i]-'A'+10; } cout<<x; return 0; } // 64 位输出请用 printf("%lld")
把0x先读入,没啥用,然后输入字符串,然后顺序处理,在计算时别忘记每次都*16,最后输出x即可