题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

#include <iostream>
using namespace std;

int main() 
{
    string s;
    int a=0;
    int tmp=0;
    while(getline(cin,s))
    {
        if(s.substr(0,2)!="0x")
        {
            return 0;
        }
        for(int i=2;i<s.size();i++)
        {
            if(s[i]>='A' && s[i]<='F')
            {
                a=a*16+(s[i]-'A'+10);
            }
            else if(s[i]>='a' && s[i]<='f')
            {
                a=a*16+(s[i]-'a'+10);
            }
            else if(s[i]>='0' && s[i]<='9')
            {
                a=a*16+(s[i]-'0');
            }
        }
        
        cout<<a<<endl;
    }

}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务