Um endereço IP consiste em quatro números decimais, cada um dos quais pode variar de 0 a 255. Cada um desses números é equivalente a um hexadecimal de dois dígitos ou binário de oito bits e, portanto, é chamado de octeto. Esses quatro números curtos às vezes precisam ser traduzidos em um longo ao escrever scripts.
Instruções
Passo 1
Multiplique o primeiro octeto do endereço IP por 16777216 ou, de forma equivalente, 256 elevado à terceira potência. Por exemplo, se estamos falando sobre o endereço IP 192.168.1.1 (ele é freqüentemente encontrado em pequenas redes locais), então, depois de multiplicar o número 192 por 16777216, você obtém 3221225472.
Passo 2
Multiplique o segundo número por 65536 - é quanto você obtém se elevar 256 à segunda potência. Por exemplo, no endereço 192.168.1.1, você deve multiplicar 168 por 65536 e obter 11010048.
etapa 3
Multiplique o terceiro octeto por 256 elevado à primeira potência - ou seja, pelo próprio número 256. Se você converter o endereço IP 192.168.1.1 para a forma longa, o resultado dessa multiplicação será 256 * 1 = 256.
Passo 4
Deixe o quarto número inalterado, o que equivale a multiplicar por um. Isso se deve ao fato de que se você elevar o número 256 (ou qualquer outro número) à potência zero, obtém 1. No endereço IP 192.168.1.1, o resultado da multiplicação será 1 * 1 = 1.
Etapa 5
Adicione todos os quatro resultados de multiplicação juntos. Para o exemplo considerado aqui, o valor ficará assim: 3232235777.
Etapa 6
Ao programar em PHP, use a função pronta ip2long para traduzir um endereço IP em um formato longo. Uma função semelhante em propósito pode ser composta e incluída em um programa ou um módulo separado em outra linguagem de programação.
Etapa 7
A tarefa de traduzir um endereço IP de um formulário longo para um curto ocorre com muito menos frequência. Para fazer isso, divida o endereço longo por 16777216 e toda a parte do resultado da divisão se torna o primeiro octeto. Divida o restante (não o confunda com a parte fracionária) por 65536 para obter o segundo octeto e assim por diante. Em calculadoras de engenharia, calcule o módulo da seguinte forma: [C] primeiro número [MOD] segundo número [=]. As calculadoras mais simples não possuem esse recurso.
Etapa 8
Ao escrever uma função para realizar uma tradução reversa em uma linguagem de programação específica, use funções para divisão inteira e calcule o restante da divisão. Por exemplo, em Pascal eles são chamados de div e mod, respectivamente. Um fragmento do programa para realizar essa tradução pode ter a seguinte aparência:
octeto [1]: = longip div 16777216;
número seguinte: = mod longip 16777216;
octeto [2]: = próximo número div 65536;
próximo número: = próximo número mod 65536;
octeto [3]: = próximo número div 256;
octeto [4]: = próximo número mod 256;