题解 | #进制转换#

进制转换

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

//为什么都不管小数点
let str = readline().substr(2);
const eng  = {
    A:10,
    B:11,
    C:12,
    D:13,
    E:14,
    F:15,
}

const letter = (n) => {
    return n < 10 ? n:eng[n];
}
if(str.indexOf(".") != -1){
    var strInt = str.split(".")[0];
    var strFloat = str.split(".")[1];
    
    var m = 0;
    const maxFloat = strFloat.length-1;
    for(let j = 0; j <= maxFloat;j++){
        m = m + letter(strFloat[j]) * Math.pow(1/16,j+1);
    }
    
    var n = 0;   
    const maxInt = strInt.length-1;    
    for(let i = maxInt; i >= 0;i--){
        n = n + letter(strInt[i]) * Math.pow(16,maxInt - i);
    }
    console.log(n+m);
}
else{
    var n = 0;
    const max = str.length-1;
    for(let i = max; i >= 0;i--){
        n = n + letter(str[i]) * Math.pow(16,max - i);
    }
    console.log(n);
}

全部评论

相关推荐

点赞 评论 收藏
分享
星期一的大老师:项目描述 和 技术栈单开一栏;八股文:算法与数据结构,计算机网络一定要写,操作系统不了解可以不写;Linux命令,Git,Docker基础命令和基本使用一定要写,要有实际使用场景的解决经验;项目的八股文上:redis 解决 缓存雪崩,缓存击穿,缓存穿透的解决方案,一个问题的不同方案可以一起用,不需要重复在两个项目写。第二个项目换一个。小厂可以投一投
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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