Aprendi recentemente que a conversão de endereços IP em decimal, octal e hexadecimal também pode acessar o site.
Converta IP para digital (o segundo algoritmo. Use o turno esquerdo, bit a bit ou implementação. Mais eficiente.):
public Long iptolong (string iPaddress) {Long resultado = 0; String [] ipaddressinArray = ipaddress.split ("//."); for (int i = 3; i> = 0; i--) {long ip = long.parselong (ipaddressinary [3-i]); // Mudando de esquerda 24,16,8,0 e bit ou // 1. 192 << 24 // 1. 168 << 16 // 1. 1 << 8 // 1. 2 << 0 resultado | = ip << (i * 8); } resultado de retorno; }Quando os números são convertidos em IP, ambos os algoritmos são semelhantes:
// ip = 3232235778 public string longtoip (ip longo) {stringbuilder resultado = new StringBuilder (15); for (int i = 0; i <4; i ++) {result.insert (0, long.toString (ip & 0xff)); if (i <3) {result.insert (0, '.'); } ip = ip >> 8; } return result.toString (); } // ip = 3232235778 Public String longToip2 (ip longo) {return ((ip >> 24) e 0xff) + "." + ((ip >> 16) e 0xff) + "." + ((ip >> 8) e 0xff) + "." + (ip & 0xff); }Código completo:
classe pública javabitwiseexample {public static void main (string [] args) {javabitwiseexample obj = new javabitwiseexample (); System.out.println ("iptolong:" + obj.iptolong ("192.168.1.2")); System.out.println ("iptolong2:" + obj.iptolong2 ("192.168.1.2")); System.out.println ("Longtoip:" + obj.longtoip (3232235778l)); System.out.println ("Longtoip2:" + obj.longtoip2 (3232235778l)); } // Exemplo: 192.168.1.2 Public Long iptolong (string ipaddress) {// ipaddressinArray [0] = 192 string [] ipaddressinArray = ipaddress.split ("//."); resultado longo = 0; for (int i = 0; i <ipaddressinArray.length; i ++) {int power = 3 - i; int ip = Integer.parseint (ipaddressinArray [i]); // 1. 192 * 256^3 // 2. 168 * 256^2 // 3. 1 * 256^1 // 4. 2 * 256^0 resultado += ip * math.pow (256, potência); } resultado de retorno; } public Long iptolong2 (string ipaddress) {Long resultado = 0; String [] ipaddressinArray = ipaddress.split ("//."); for (int i = 3; i> = 0; i--) {long ip = long.parselong (ipaddressinary [3-i]); // Mudando de esquerda 24,16,8,0 e bit ou // 1. 192 << 24 // 1. 168 << 16 // 1. 1 << 8 // 1. 2 << 0 resultado | = ip << (i * 8); } resultado de retorno; } public string longtoip (long i) {return ((i >> 24) e 0xff) + "." + ((i >> 16) e 0xff) + "." + ((i >> 16) e 0xff) + "." + ((i >> 8) e 0xff) + "." + (i & 0xff); } public string longtoip2 (ip longo) {stringbuilder sb = new stringbuilder (15); para (int i = 0; i <4; i ++) {// 1. 2 // 2. 1 // 3. 168 // 4. 192 sb.insert (0, long.toString (ip & 0xff)); if (i <3) {sb.insert (0, '.'); } // 1. 192.168.1.2 // 2. 192.168.1 // 3. 192.168 // 4. 192 IP = IP >> 8; } return sb.toString (); }}Resumir
O exposto acima é todo o conteúdo deste artigo sobre os exemplos de conversão de código de endereços e números de IP de programação Java. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la!