基本的进制转换,不过要把16进制的数以字符串的形式输进来,然后进行处理

#include <iostream>
#include <string>
#include <cmath>

using namespace std;

int main(){
    string str;
    while(cin >> str){
        int ans = 0;
        int bit = 0;
        for(int i = str.size()-1 ; i > 1 ; i--){
            if(str[i] >= '0' && str[i] <= '9'){
                ans += (str[i] - '0')*pow(16,bit++) ;
            }
            else if(str[i] >= 'A' && str[i] <= 'F'){
                ans += (str[i] - 'A' + 10)*pow(16,bit++) ;
            }
        }
        cout << ans << endl;
    }
}

知识点解析:

  1. 基本进制转换,主要pow(16,bit++)
  2. cmath库的平方公式,基本公式