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

整数与IP地址间的转换

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

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    const ip = await readline();
    const num = parseInt(await readline());
    const ipToNumber = (ip) => {
        let str = ip
            .split(".")
            .reduce(
                (pre, cur) => pre + Number(cur).toString(2).padStart(8, 0),
                ""
            );
        return parseInt(str, 2);
    };
    const numberToIp = (num) => {
        let str = num.toString(2).padStart(32, 0);
        let res = parseInt(str.slice(0, 8),2);
        for (let i = 8; i <= 24; i += 8) {
            res += "." + parseInt(str.slice(i, i + 8), 2);
        }
        return res;
    };
    console.log(ipToNumber(ip));
    console.log(numberToIp(num));
})();

全部评论

相关推荐

想按时下班的大菠萝在...:隔壁学校的,加油多投, 实在不好找可以下个学期开学找,把算法八股准备好,项目有空再换换
投了多少份简历才上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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