题解 | #进制转换#
进制转换
https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
#include<bits/stdc++.h>
using namespace std;
int main() {
int i, len, sum, k;
string s;
cin >> s;
len = s.size();
i = 2;
sum = 0;
while (i < s.size() - 1) {
if (s[i] >= 'A') k = s[i] - 'A' + 10;
else k = s[i] - '0';
sum += k;
sum = sum * 16;
i++;
}
if (i == s.size() - 1) {
if (s[i] >= 'A') k = s[i] - 'A' + 10;
else k = s[i] - '0';
sum = sum + k;
}
cout << sum << endl;
}
熟悉进制转化背后的原理可以拿下这类题目,如果不熟悉建议从十进制和二进制互转理解起来

