题解 | #进制转换#

进制转换

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

const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

rl.on("line", function (line) {
    console.log(hexToDecimal(line));
});

function hexToDecimal(hex: string): number {
    // 移除十六进制前缀 '0x'(如果存在)
    hex = hex.startsWith("0x") ? hex.slice(2) : hex;

    const hexDigits = "0123456789ABCDEF";
    let decimal = 0;

    // 从右往左遍历十六进制字符串
    for (let i = hex.length - 1; i >= 0; i--) {
        const digit = hexDigits.indexOf(hex[i].toUpperCase());
        // 将每位的十六进制位与其相应的权值相乘,然后累加
        decimal += digit * Math.pow(16, hex.length - 1 - i);
    }

    return decimal;
}

全部评论

相关推荐

真起不了响亮的名字:九月份人家投秋招你投实习嘛,会不会有点晚了,算你九月份直接上岗,实习三个月后一月初去和别人抢秋招补录还是备战春招啊更别说休息一个月后还要重新复习八股和算法
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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