转载请注明出处:http://www.cnblogs.com/zhishoumuguinian/p/8406432.html
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
#include#include using namespace std;int main(){ long long sum=0; string s; cin>>s; long long n=s.size(); long long x=1; for(int i=n-1; i>=0; i--) { if(s[i]<='9'&&s[i]>='0') { sum+=(s[i]-'0')*x; } if(s[i]>='A'&&s[i]<='F') { sum+=(s[i]-'A'+10)*x; } x*=16; } cout<