题解 | #整数与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('.') }