IP adresa sastoji se od četiri decimalna broja, od kojih se svaki može kretati od 0 do 255. Svaki takav broj ekvivalentan je dvoznamenkastoj heksadecimalnoj ili osmerobitnoj binarnoj datoteci, pa se zato naziva oktetom. Ova četiri kratka broja ponekad treba prevesti u jedan dugačak prilikom pisanja skripti.
Upute
Korak 1
Pomnožite prvi oktet IP adrese sa 16777216, ili, što je jednako, 256 s trećim stepenom. Na primjer, ako govorimo o IP adresi 192.168.1.1 (često se nalazi u malim lokalnim mrežama), nakon množenja broja 192 sa 16777216 dobit ćete 3221225472.
Korak 2
Pomnožite drugi broj s 65536 - toliko ćete dobiti ako 256 podignete na drugi stepen. Na primjer, na adresi 192.168.1.1 morate pomnožiti 168 s 65536 i dobit ćete 11010048.
3. korak
Pomnožite treći oktet s 256 na prvi stepen - odnosno sa brojem 256. Ako pretvorite IP adresu 192.168.1.1 u dugački oblik, tada će rezultat ovog množenja biti 256 * 1 = 256.
4. korak
Četvrti broj ostavite nepromijenjenim, što je jednako množenju s jedan. To je zbog činjenice da ako broj 256 (ili bilo koji drugi broj) povisite na nultu razinu, dobit ćete 1. Na IP adresi 192.168.1.1 rezultat množenja bit će 1 * 1 = 1.
Korak 5
Zbrojite sva četiri rezultata množenja. Za ovdje razmatrani primjer iznos će izgledati ovako: 3232235777.
Korak 6
Kada programirate na PHP-u, upotrijebite gotovu funkciju ip2long za prevođenje IP adrese u dugački oblik. Funkcija slične namjene može se sastaviti i uključiti u program ili zasebni modul na drugom programskom jeziku.
Korak 7
Zadatak prevođenja IP adrese s dugog oblika natrag u kratki javlja se puno rjeđe. Da biste to učinili, podijelite dugu adresu sa 16777216 i cijeli dio rezultata dijeljenja postaje prvi oktet. Ostatak podijelite (nemojte ga miješati s razlomljenim dijelom) sa 65536 da biste dobili drugi oktet, i tako dalje. Na inženjerskim kalkulatorima izračunajte modul na sljedeći način: [C] prvi broj [MOD] drugi broj [=]. Najjednostavniji kalkulatori nemaju ovu značajku.
Korak 8
Kada pišete funkciju za izvođenje obrnutog prijevoda u određenom programskom jeziku, koristite funkcije za cijelu podjelu i izračunavanje ostatka podjele. Na primjer, u Pascalu se nazivaju div, odnosno mod. Fragment programa za izvođenje takvog prijevoda može izgledati ovako:
oktet [1]: = longip div 16777216;
sljedeći broj: = longip mod 16777216;
oktet [2]: = sljedeći broj div 65536;
sljedeći broj: = sljedeći broj mod 65536;
oktet [3]: = sljedeći broj div 256;
oktet [4]: = sljedeći broj mod 256;