I/O.5 进制转换
一、题目要求
描述: 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。数据范围:保证结果在 1≤n≤2^31-1
输入描述: 输入一个十六进制的数值字符串。
输出描述: 输出该数值的十进制字符串。不同组的测试用例用\n隔开。
示例
输入:0xAA
输出:170
二、题解
#include <iostream>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;
int main() {
string s;
getline(cin,s);
int res=0;
for(int i=2;i<s.size();i++)
{
res *=16;
if(s[i]>='0' && s[i]<='9')
res += s[i]-'0';
if(s[i]>='A' && s[i]<='F')
res += s[i]-'A'+10;
}
cout<<res<<endl;
return 0;
}