侧边栏壁纸
博主头像
Hope博主等级

努力赚钱的工科研究生

  • 累计撰写 362 篇文章
  • 累计创建 129 个标签
  • 累计收到 5 条评论
标签搜索

进制转换

Hope
2022-03-24 / 0 评论 / 0 点赞 / 407 阅读 / 473 字
温馨提示:
本文最后更新于 2022-03-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

HJ5 进制转换

思路:

没什么好说的,按位计算16进制。

代码:

#include<string>
#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;

int main(){
    string s;
    unordered_map<char,int> hash;
    hash['A'] = 10;
    hash['B'] = 11;
    hash['C'] = 12;
    hash['D'] = 13;
    hash['E'] = 14;
    hash['F'] = 15;
    
    while(cin>>s){
        reverse(s.begin(),s.end());
        int res = 0;
        for(int i = 0,p = 1;i < s.size() - 2; i++,p *= 16){
            if(isdigit(s[i])) res += (s[i] - '0') * p;
            else{
                res += hash[s[i]] * p;
            }
        }
        cout<<res<<endl;
    }
    return 0;
}
0

评论区