- //进制转换
- //本题知识点: 字符串
- //题目描述
- //
- //写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
- //
- //输入描述:
- //输入一个十六进制的数值字符串。
- //
- //输出描述:
- //输出该数值的十进制字符串。
- //
- //输入例子:
- //0xA
- //
- //输出例子:
- //10
- #include<iostream>
- #include<string>
- #include<math.h>
- using namespace std;
- int main()
- {
- string s;
- int i=0,count,sum;
- while(getline(cin,s))
- {
- int count=s.length();
- sum=0;
- for(i=count-1;i>=0;i--)//从十六进制个位开始,每位都转换成十进制
- {
- if(s[i]>='0'&&s[i]<='9')//数字字符的转换
- {
- sum+=(s[i]-48)*pow(16,count-i-1);
- }
- else if(s[i]>='A'&&s[i]<='F')//字母字符的转换
- {
- sum+=(s[i]-55)*pow(16,count-i-1);
- }
- }
- cout<<sum;
- }
- }