问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
注:十六进制数中的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 }