题目
存在一种虚拟 IPv4 地址,由 4 小节组成,每节的范围为 0~255,以#号间隔,虚拟 IPv4 地址可以转换为一个 32 位的整数,例如:128#0#255#255,转换为 32 位整数的结果为 2147549183(0x8000FFFF)。1#0#0#0,转换为 32 位整数的结果为 16777216(0x01000000)。现以字符串形式给出一个虚拟 IPv4 地址,限制第 1 小节的范围为 1~128。
输入描述
输入一行,虚拟 IPv4 地址格式字符串
输出描述
输出一行,按照要求输出整型或者特定字符
代码
function changeIPv4(s) {
const list = s.split('#');
let result = 0;
for (let i = 0; i < list.length; i++) {
const l = 3 - i;
const c = Number(list[i]).toString(2) + '0'.repeat(l * 8);
const n = parseInt(c, 2);
result += n;
}
console.log('result', result);
}
var testList = ['128#0#255#255', '1#0#0#0'];
testList.forEach((v) => {
changeIPv4(v);
});