题解 | #进制转换#

进制转换

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

int main() {
    string s;
    while (cin >> s) {
        int ten = 0;
        int n = s.size() - 2;
        for (int i = 0; i < n; i++) {
            char m = s[i + 2];
            int sis = pow(16, (n - i - 1));
            if (m == 'A') {
                ten = ten + 10 * sis;
            } else if (m == 'B') {
                ten = ten + 11 * sis;
            } else if (m == 'C') {
                ten = ten + 12 * sis;
            } else if (m == 'D') {
                ten = ten + 13 * sis;
            } else if (m == 'E') {
                ten = ten + 14 * sis;
            } else if (m == 'F') {
                ten = ten + 15 * sis;
            } else {
                ten = ten + ((int)m-48) * sis;
            }
        }
        cout << ten << endl;
    }
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务