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

整数与IP地址间的转换

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

let str1 = readline();
let str2 = readline();
console.log(aa(str1));
console.log(bb(str2));
// 转换成10进制的IP地址
function aa(str) {
    let arr = str1.split('.');
    let s = '';
    for(let i = 0; i < arr.length; i++) {
        s += Number(arr[i]).toString(2).padStart(8, 0);
    }
    return parseInt(s, 2);
} 
// 转换后的IP地址
function bb(str) {
    let s = '0000000' + Number(str).toString(2); // 因为是合法的ip地址,所以首位不会是0,所以只加了7个0
    let arr = [];
    for(let i = s.length - 8; i >= 0; i -= 8) {
        let a = s.substr(i, 8);
        arr.unshift(parseInt(a, 2));
    }
    return arr.join('.');
}
全部评论

相关推荐

04-17 10:16
门头沟学院 Java
不河狸啊:为什么我的是已送达,连已读都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务