题解 | #进制转换#

进制转换

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

#include <iostream>
using namespace std;
#include <cmath>
int main() {
    string str;
    while(cin>>str){
        string num16=str.substr(2,str.size()-2);//保存十六进制的值
        int res=0;
        int count=0;
        int j=0;
        for(int i=num16.size()-1;i>=0;i--){
            if(num16[i]>='A'){
                count=num16[i]-'A'+10;//字母转数值
                
            }else{
                count=num16[i]-'0';//数字转数值
                
            }
            res+=count*pow(16,j);//每一位的值乘16的j次方
            j++;
        }
        cout<<res<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

点赞 评论 收藏
分享
09-28 22:01
已编辑
广西科技大学 IT技术支持
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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