题解 | #整数与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 () {
// Write your code here
while(line = await readline()){
let str = line
if (str.includes('.')) {
const arr = str.split('.')
let total = 0
for (let i = 0 ; i < arr.length; i++) {
const num = arr[i] * Math.pow(2, 8*(arr.length-1 - i))
total += num
}
console.log(total)
} else {
str = Number(str).toString(2)
if (str.length < 32) {
str = new Array(32 - str.length).fill('0').join('') + str
}
let ip = []
for (i = 0; i < 4; i++) {
ip.push(parseInt(str.slice(i * 8, (i+1) * 8), 2))
}
console.log(ip.join('.'))
}
}
}()

查看12道真题和解析