Une adresse IP se compose de quatre nombres décimaux, chacun pouvant aller de 0 à 255. Chacun de ces nombres équivaut à un hexadécimal à deux chiffres ou à un binaire à huit bits, et est donc appelé un octet. Ces quatre nombres courts doivent parfois être traduits en un seul long lors de l'écriture de scripts.
Instructions
Étape 1
Multipliez le premier octet de l'adresse IP par 16777216, ou, de manière équivalente, 256 à la troisième puissance. Par exemple, si nous parlons de l'adresse IP 192.168.1.1 (on la trouve souvent dans les petits réseaux locaux), alors après avoir multiplié le nombre 192 par 16777216 vous obtenez 3221225472.
Étape 2
Multipliez le deuxième nombre par 65536 - c'est ce que vous obtenez si vous augmentez 256 à la deuxième puissance. Par exemple, dans l'adresse 192.168.1.1, vous devez multiplier 168 par 65536, et vous obtenez 11010048.
Étape 3
Multipliez le troisième octet par 256 à la première puissance, c'est-à-dire par le nombre lui-même 256. Si vous convertissez l'adresse IP 192.168.1.1 en forme longue, le résultat de cette multiplication sera 256 * 1 = 256.
Étape 4
Laissez le quatrième nombre inchangé, ce qui équivaut à multiplier par un. Cela est dû au fait que si vous augmentez le nombre 256 (ou tout autre nombre) à la puissance zéro, vous obtenez 1. Dans l'adresse IP 192.168.1.1, le résultat de la multiplication sera 1 * 1 = 1.
Étape 5
Additionnez les quatre résultats de multiplication ensemble. Pour l'exemple considéré ici, le montant ressemblera à ceci: 3232235777.
Étape 6
Lors de la programmation en PHP, utilisez la fonction prête à l'emploi ip2long pour traduire une adresse IP en une forme longue. Une fonction similaire peut être composée et incluse dans un programme ou un module séparé dans un autre langage de programmation.
Étape 7
La tâche de traduire une adresse IP d'un formulaire long en un formulaire court se produit beaucoup moins fréquemment. Pour ce faire, divisez l'adresse longue par 16777216, et toute la partie du résultat de la division devient le premier octet. Divisez le reste (ne le confondez pas avec la partie fractionnaire) par 65536 pour obtenir le deuxième octet, et ainsi de suite. Sur les calculatrices techniques, calculez le module comme suit: [C] premier nombre [MOD] deuxième nombre [=]. Les calculatrices les plus simples n'ont pas cette fonctionnalité.
Étape 8
Lors de l'écriture d'une fonction pour effectuer une traduction inverse dans un langage de programmation particulier, utilisez des fonctions pour la division entière et calculez le reste de la division. Par exemple, en Pascal, ils sont respectivement appelés div et mod. Un fragment du programme pour effectuer une telle traduction peut ressembler à ceci:
octet [1]: = longip div 16777216;
numéro suivant: = longip mod 16777216;
octet [2]: = numéro suivant div 65536;
numéro suivant: = numéro suivant mod 65536;
octet [3]: = numéro suivant div 256;
octet [4]: = numéro suivant mod 256;