题目描述
输入一个十六进制数,输出相应的十进制数。
十六进制的基数是0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f。
输入格式
输入有若干行,每行表示一个十六进制的数。
输出格式
输出每个十六进制数对应的十进制数。
输入样例
输出样例
代码如下
#include<bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for(int i=(a); i<=(b); i++)
#define lop(i, a, b) for(int i=(a); i<(b); i++)
#define el "\n"
typedef long long LL;
const int N = 100010;
const double PI = 3.1415926;
map<char, int> zm;
int main ()
{
cin.tie(0);
cout.tie(0);
lop(i, 0, 10) zm['0'+i] = i;
rep(i, 0, 6) zm['a'+i] = 10+i;
string c;
while(cin >> c)
{
int res = 0;
stack<char> sta;
lop(i, 0, c.length()) sta.push(c[i]);
lop(i, 0, c.length())
{
res += zm[sta.top()] * pow(16, i);
sta.pop();
}
cout << res << el;
}
return 0;
}