写出一个程序,输入一个十六进制的数值字符串,输出该数值的十进制字符串。
输入格式
输入包含多组测试数据。
每组数据占一行,包含一个十六进制的数值字符串。
输出格式
每组数据输出一行结果,表示给定数值的十进制字符串。
数据范围
每个输入最多包含 组数据。
所有答案均在 int 范围内。
输入样例:
0xA
输出样例:
10
#include<iostream>
using namespace std;
int get(char x){
if(x <= '9') return x - '0';
if(x <= 'Z') return x - 'A' + 10;
return x - 'a' + 10;
}
int main(){
string s;
while(cin >> s){
int b = 1, res = 0;
int ed = 2 + (s[0] == '-');
for(int i = s.size() - 1; i >= ed; i--){
res += b * get(s[i]);
b *= 16;
}
if(ed == 3) cout << '-';
cout << res << endl;
}
return 0;
}