题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

const readline = require("readline");

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

let lines: string[] = [];

rl.on("line", function (line: string) {
    lines.push(line);
});

rl.on("close", () => {
    // 1. 输入IP地址,输出转换成10进制的IP地址
    const binaryList = lines[0]
        .split(".")
        .map((item) => Number(item).toString(2).padStart(8, '0'));
    console.log(parseInt(binaryList.join(''), 2));

    // 2. 输入10进制型的IP地址,输出转换后的IP地址
    const binaryStr2 = Number(lines[1]).toString(2).padStart(32, '0');
    const ints: number[] = [];
    for (let i = 0; i < binaryStr2.length; i = i + 8) {
        const str = binaryStr2.substring(i, i + 8);
        ints.push(parseInt(str, 2));
    }
    console.log(ints.join("."));
});

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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