En IP-adresse består av fire desimaltall, som hver kan variere fra 0 til 255. Hvert slikt tall tilsvarer et to-sifret heksadesimalt eller åtte-bits binært, og kalles derfor en oktett. Disse fire korte tallene må noen ganger oversettes til en lang når man skriver manus.
Bruksanvisning
Trinn 1
Multipliser den første oktetten av IP-adressen med 16777216, eller, tilsvarende, 256 til den tredje kraften. For eksempel, hvis vi snakker om IP-adressen 192.168.1.1 (den finnes ofte i små lokale nettverk), så får du 3221225472 etter å ha multiplisert tallet 192 med 16777216.
Steg 2
Multipliser det andre tallet med 65536 - det er hvor mye du får hvis du løfter 256 til den andre kraften. I adressen 192.168.1.1 må du for eksempel multiplisere 168 med 65536, og du får 11010048.
Trinn 3
Multipliser den tredje oktetten med 256 til den første kraften - det vil si med selve tallet 256. Hvis du konverterer IP-adressen 192.168.1.1 til langform, vil resultatet av denne multiplikasjonen være 256 * 1 = 256.
Trinn 4
La det fjerde tallet være uendret, noe som tilsvarer å multiplisere med ett. Dette skyldes det faktum at hvis du hever tallet 256 (eller et annet tall) til nulleffekten, får du 1. I IP-adressen 192.168.1.1 vil resultatet av multiplikasjonen være 1 * 1 = 1.
Trinn 5
Legg sammen alle fire multiplikasjonsresultatene. For eksemplet som er vurdert her, vil beløpet se slik ut: 3232235777.
Trinn 6
Når du programmerer i PHP, bruk den ferdige funksjonen ip2long til å oversette en IP-adresse til en lang form. En funksjon som ligner på formål kan være sammensatt og inkludert i et program eller en egen modul i et annet programmeringsspråk.
Trinn 7
Oppgaven med å oversette en IP-adresse fra en lang form tilbake til en kort forekommer mye sjeldnere. For å gjøre dette, del den lange adressen med 16777216, og hele delen av divisjonsresultatet blir den første oktetten. Del resten (ikke forveksle den med brøkdelen) med 65536 for å få den andre oktetten, og så videre. På ingeniørkalkulatorer beregner du modulen slik: [C] første nummer [MOD] andre nummer [=]. De enkleste kalkulatorene har ikke denne funksjonen.
Trinn 8
Når du skriver en funksjon for å utføre omvendt oversettelse på et bestemt programmeringsspråk, bruk funksjoner for heltallsdeling og beregning av resten av divisjonen. For eksempel i Pascal kalles de henholdsvis div og mod. Et fragment av programmet for å gjennomføre en slik oversettelse kan se slik ut:
oktett [1]: = longip div 16777216;
neste nummer: = longip mod 16777216;
oktett [2]: = neste nummer div 65536;
neste nummer: = neste nummer mod 65536;
oktett [3]: = neste nummer div 256;
oktett [4]: = neste nummer mod 256;