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

整数与IP地址间的转换

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

// 使用padStart(maxlength, fillString)可以用指定字符串填充原字符串到指定长度

let ip = readline().split('.').map(i => Number(i))
let n = Number(readline())

print(changeIP(ip))
print(changeToIP(n))

function changeIP(ip) { // IP转整数
    let arr = []
    ip.forEach(i => {
        arr.push(i.toString(2).padStart(8, 0))
    })
    return parseInt(arr.join(''), 2)
}

function changeToIP(n) { // 整数转IP
    let s = n.toString(2).padStart(32, 0)
    let arr = []
    for(let i=0; i<s.length; i++) {
        if(i%8==0)arr.push(s.substr(i, 8))
    }
    return arr.map(i => parseInt(i, 2)).join('.')
}
全部评论

相关推荐

11-03 12:40
中山大学 Java
勇敢的突尼斯海怪选钝...:楼主这拒意向话术好得体呀 !求问HR回复态度咋样呀
点赞 评论 收藏
分享
10-27 02:29
已编辑
门头沟学院 嵌入式工程师
牛客72783561...:简历不是这么写的,你这两个项目只说了用到了什么技术,却没说取得了什么成果,在我看来这就是你自己做的一个demo,没有价值。你为什么不写你电赛国二的那个项目?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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