máscara java y la conversión iP dígitos

, Una máscara de la forma: "255.255.255.0" en 24 bits, las siguientes ideas:

  1. La determinación de si la cadena máscara IP pasado, la forma más fácil de usar un juego regular, directa, de la siguiente manera:

java.util.regex.Matcher importación;
java.util.regex.Pattern importación;

public static boolean isMask (máscara String) {  
patrón de patrón = Pattern.compile ( "(^ (\\ d {1,3} \\) {3} \\ d {1,3} $)."); 
pattern.matcher (máscara) volver .matches ();
}

2. Analizar en un número IP, uso la idea de la máscara de plástico en, para ser conformada determinación del número 1.
2.1 IP en plástico

    int public static ipToInt (String ipAddr) {

if (! isMask (ipAddr))
return 0;
        String [] ipArr = ipAddr.split ( "\\.");
       
        retorno ((Integer.parseInt (ipArr [0]) y 0xFF) << 24) + ((Integer.parseInt (ipArr [1]) y 0xFF) << 16) 
+ ((Integer.parseInt (ipArr [2]) y 0xFF)) << 8 + ((Integer.parseInt (ipArr [3]) y 0xFF));

    }



Número 1 2.2 pares de operaciones de enteros:

staticint pública findN umberOf1 (int n)
{
    int contar
OF1 = 0;
    int
t ag = 1;
mientras que (etiqueta! = 0)
    {
        if ((etiqueta & N)! = 0)
            contar OF1 ++;
        tag = etiqueta << 1;
    }
    volver contar OF1;
}


En segundo lugar, los dígitos de la máscara en forma de IP, las ideas son las siguientes:

Cadena intToMask static (int máscara de bits)
{
si (máscara de bits> 32)
nula regresar;

        int tmpMask [] = {0,0,0,0};
        veces int = máscara de bits / 8;
        int i = 0;
para (; i <veces; i ++)
{
tmpMask [i] = 255;
}

for (int j = 1; j <= 8; j ++)
{
si (j <= máscara de bits - veces * 8)
tmpMask [i] = 2 * tmpMask [i] + 1;
más
tmpMask [i] = 2 * tmpMask [i];
}
 
retorno Integer.toString (tmpMask [0]) + "" + Integer.toString (tmpMask [1]) + "" + Integer.toString (tmpMask [2]) + "" + Integer.toString (tmpMask [3]);
}






Publicó un artículo original · ganado elogios 0 · Vistas 2716

Supongo que te gusta

Origin blog.csdn.net/yjj350418592/article/details/52124634
Recomendado
Clasificación