题解 | #进制转换#

进制转换

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

幂函数pow

#include <cmath>
#include <iostream>
#include <algorithm>
using namespace std;

void trans_to_ten(std::string s){
    int count = 0;
    int len = size(s);
    for(int i = 0; i < len-2; i ++){
        char bit = s[i+2];
        if(bit >= '0' && bit <= '9')
            count += (bit-'0')*pow(16, len-2-i-1);
        else{
            switch (bit) {
                case 'A':count += 10*pow(16, len-2-i-1);break;
                case 'B':count += 11*pow(16, len-2-i-1);break;
                case 'C':count += 12*pow(16, len-2-i-1);break;
                case 'D':count += 13*pow(16, len-2-i-1);break;
                case 'E':count += 14*pow(16, len-2-i-1);break;
                case 'F':count += 15*pow(16, len-2-i-1);break;
                default:break;
            }
            
        }
    }
    cout << count << endl;
}

int main() {

    std::string s;
    while(cin>>s){
        trans_to_ten(s);
    }

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

全部评论

相关推荐

榕城小榕树:1200单休,我去干点啥别的不好
点赞 评论 收藏
分享
05-16 11:16
已编辑
东华理工大学 Java
牛客73769814...:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
牛客创作赏金赛
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 17:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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