题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include <iostream> #include <string> using namespace std; int decode(const char& c){ const static char table[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; for(int i=0;i<16;i++){ if(table[i]==c){ return i; } } return -1; } int main() { string hexStr; cin >> hexStr; hexStr = hexStr.substr(2,hexStr.size()-2); int decimalVar = 0; for(int i=0;i<hexStr.size();i++){ decimalVar *= 16; decimalVar += decode(hexStr.at(i)); } cout<<decimalVar<<endl; return 0; } // 64 位输出请用 printf("%lld")