题目描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
示例1
输入
复制
0xA
输出
复制
10
#include<iostream>
#include<string>
using namespace std;
const int decimal = 10;
const int hexbase = 16;
int main()
{
string str;
while(cin >> str)
{
str.erase(0,2); // erase 0x
int val = 0; // output
while(str.size()>0)
{
if(str[0]>='A' && str[0]<='F')
{
val = val*hexbase + str[0]-'A' + decimal;
}
if(str[0]>='a' && str[0]<='f')
{
val = val*hexbase + str[0]-'a' + decimal;
}
if(str[0]>='0' && str[0]<='9')
{
val = val*hexbase + str[0]-'0';
}
str.erase(0,1);
}
cout << val << endl;
}
}