题解 | #进制转换#

进制转换

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

#include<bits/stdc++.h>
using namespace std;

int main() {
    int i, len, sum, k;
    string s;
    cin >> s;
    len = s.size();
    i = 2;
    sum = 0;
    while (i < s.size() - 1) {
        if (s[i] >= 'A') k = s[i] - 'A' + 10;
        else k = s[i] - '0';
        sum += k;
        sum = sum * 16;
        i++;
    }
    if (i == s.size() - 1) {
        if (s[i] >= 'A') k = s[i] - 'A' + 10;
        else k = s[i] - '0';
        sum = sum + k;
    }

    cout << sum << endl;
}

熟悉进制转化背后的原理可以拿下这类题目,如果不熟悉建议从十进制和二进制互转理解起来

全部评论

相关推荐

迷茫的大四🐶:都收获五个了,兄弟那还说啥,不用改了,去玩吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务