蓝桥杯 十六进制转十进制

问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main() {
 4     string s;
 5     cin >> s;
 6     long long sum = 0;
 7     for (int i = 0; i < s.length(); i++) {
 8         if (s[i] >= 'A' && s[i] <= 'F') {
 9             sum = sum * 16 + s[i] - 'A' + 10;
10         } else {
11             sum = sum * 16 + s[i] - '0';
12         }
13     }
14     cout << sum << endl;
15     return 0;
16 }

猜你喜欢

转载自www.cnblogs.com/fx1998/p/12807004.html