华为机试——进制转换

来源:互联网 发布:淘宝节点考试答案2017 编辑:程序博客网 时间:2024/05/10 03:21

写一个程序,接收一个十六进制的数值字符串,输出该数值的十进制字符串。

#include<iostream>#include<string>using namespace std;int main(){    string str;    cin>>str;    long result=0;    int len=str.size();    long factor=1;    for(int i=len-1;i>=0;i--)    {        if(str[i]>='0' && str[i]<='9')//小心忘记了等于        {            result+=(str[i]-'0')*factor;            factor*=16;        }        else if(str[i]>='a' && str[i]<='f')        {            result+=(str[i]-'a')*factor;            factor*=16;        }        else if(str[i]>='A' && str[i]<='F')        {            result+=(str[i]-'A')*factor;            factor*=16;        }    }    cout<<result<<endl;    return 0;}
0 0
原创粉丝点击