Algoritmo de encuentro: convertir la dirección IPv4 en un número entero

tema

Hay una dirección IPv4 virtual, que consta de 4 secciones, cada sección va de 0 a 255, separadas por #, la dirección IPv4 virtual se puede convertir a un número entero de 32 bits, por ejemplo: 128#0#255#255, convertido a El resultado de un entero de 32 bits es 2147549183 (0x8000FFFF). 1#0#0#0, el resultado de la conversión a un entero de 32 bits es 16777216 (0x01000000). Ahora se proporciona una dirección IPv4 virtual en forma de cadena y el rango de la primera subsección está limitado a 1~128.

ingrese la descripción

Ingrese una línea, cadena de formato de dirección IPv4 virtual

descripción de salida

Salida de una línea, enteros de salida o caracteres específicos según sea necesario

código

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);
});

Supongo que te gusta

Origin juejin.im/post/7120602427920744456
Recomendado
Clasificación