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

整数与IP地址间的转换

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

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function (line) {
    if (line.includes('.')){
        toTen(line)
    }else{
        toIP(line)
    }
    
});
function toIP(str:string){
    const bistr = Number(str).toString(2).padStart(32,'0')
    const arr = [bistr.slice(0,8),bistr.slice(8,16),bistr.slice(16,24),bistr.slice(24,32)]
    const res = arr.map(_=>{
        return parseInt(_,2)
    })
    console.log(res.join('.'))
    
}
function toTen(ips:string){
    const ip = ips.split('.')
    const arr = ip.map(_=>{
        return +_
    }).map(_=>{
        return _.toString(2).padStart(8,'0')
    })
    const str  = arr.join('')
    console.log(parseInt(str, 2))
}

数字转n进制字符串 toString(n)

n进制字符串转十进制,parseInt(num, n)

全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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