IP para Binário------ AJUDA AJUDA AJUDA

Boa NOite

EU tenho que fornecer um endereço IP e o programa converter para binário e automaticamente retirar para fora o endereço em binário, a classe a que pretence a rede e o host;

para já tenho o seguinte código que me converte para binário;

[size=“9”][/size]
/*

  • ip.java

*/

/**

  • */

public class convbin {

Public static void main (String args[]){
if (args.length < 2) {
  System.out.println("Insira o IP e a Mascara, na linha de comando");
}
}

/**
* @param args Argumentos da linha de comandos
*/

public static String paraBin (String ip) 
{
    // TODO Codigo logico da aplicação
    String dev = " ",
            ipDec = " ",
            ipBin = " ";      //Armazena em decimal e a conversão para binário
    int i = 0 ;               //Corre o endereço e controla 
    
    //Corre o endereço e converte para o binário
    while (i < ip.length()) 
    {
       while ((i < ip.length()) && (ip.charAt(i) !=  '.' ))  //armazena numero por numero em ipDec
        {
            ipDec += ip.charAt(i);
            ++i;
        }
        ++i;
        
        ipBin = basedecimal(ipDec, 2);  //converte IP para binário
        
        while (ipBin.length() < 8) {
            String ip2 = "";
            ip2 = ipBin;
            ipBin = '0' + ip2;
        }
        
        dev += ipBin; //concatena o Octecto que está em 'dev' e gera o numero
        ipBin = "";
        ipDec = "";
    } //fecha o ciclo While
    return dev;
}

protected static String basedecimal (String numero, int base) {
//numero - numero a ser convertido
//base - base assumida pelo numero
long n =Long.parseLong(num);
String dev= “”;

while (n>=base){
	if (n%base<9)
		dev = (n%base)+dev;
	else
		dev=Character.forDigit((byte)(n%base),base) + dev ;
	n /=base;
}
if (n <9)
	dev = n + dev;
else 
	dev=Character.forDigit((byte)(n&base), base)+ dev;
return dev; }

//final basedecimal
}

:lol:

eu queria introduzir o seguinte raciocinio;

se primeiro octecto doendereço IP estiver entre 0 e 127 pretence à classe A
se estiver entre 128 e 191 pretence à classe B
se estiver entre 192 e 223 pretence à classe C… e assim por diante…

ME AJUDA, por favor

[size=“12”][/size]