IP adrese sastāv no četriem cipariem aiz komata, no kuriem katrs var svārstīties no 0 līdz 255. Katrs šāds skaitlis ir ekvivalents divciparu heksadecimālam vai astoņu bitu bināram, un tāpēc to sauc par oktetu. Šie četri īsie skaitļi, rakstot skriptus, dažreiz ir jāpārvērš vienā garā.
Instrukcijas
1. solis
Reiziniet IP adreses pirmo oktetu ar 16777216 vai, līdzvērtīgi, ar 256 ar trešo jaudu. Piemēram, ja mēs runājam par IP adresi 192.168.1.1 (to bieži atrod mazos vietējos tīklos), tad pēc skaitļa 192 reizināšanas ar 16777216 jūs saņemat 3221225472.
2. solis
Reiziniet otro skaitli ar 65536 - tas ir, cik jūs saņemat, ja paaugstināt 256 līdz otrajai pakāpei. Piemēram, adresē 192.168.1.1 jums jāreizina 168 ar 65536, un jūs saņemat 11010048.
3. solis
Reiziniet trešo oktetu ar 256 līdz pirmajai jaudai - tas ir, ar pašu skaitli 256. Ja pārveidojat IP adresi 192.168.1.1 par garu formu, tad šīs reizināšanas rezultāts būs 256 * 1 = 256.
4. solis
Ceturto skaitli atstājiet nemainītu, kas ir līdzvērtīgs reizināšanai ar vienu. Tas ir saistīts ar faktu, ka, palielinot skaitli 256 (vai jebkuru citu skaitli) līdz nullei, jūs saņemat 1. IP adresē 192.168.1.1 reizināšanas rezultāts būs 1 * 1 = 1.
5. solis
Visus četrus reizināšanas rezultātus saskaita kopā. Šeit apskatītajam piemēram, summa izskatīsies šādi: 3232235777.
6. solis
Programmējot PHP, izmantojiet gatavo funkciju ip2long, lai IP adresi pārveidotu garā formā. Mērķim līdzīgu funkciju var sastādīt un iekļaut programmā vai atsevišķā modulī citā programmēšanas valodā.
7. solis
Uzdevums tulkot IP adresi no garas formas atpakaļ uz īsu notiek daudz retāk. Lai to izdarītu, daliet garo adresi ar 16777216, un visa dalīšanas rezultāta daļa kļūst par pirmo oktetu. Sadaliet atlikušo daļu (nejauciet to ar daļu) ar 65536, lai iegūtu otro oktetu utt. Inženierkalkulatoros aprēķiniet moduli šādi: [C] pirmais skaitlis [MOD] otrais skaitlis [=]. Vienkāršākajiem kalkulatoriem šīs funkcijas nav.
8. solis
Rakstot funkciju apgrieztās tulkošanas veikšanai noteiktā programmēšanas valodā, izmantojiet funkcijas vesela skaitļa dalīšanai un atlikušās dalījuma aprēķināšanai. Piemēram, Paskalē tos sauc attiecīgi par div un mod. Programmas fragments šāda tulkojuma veikšanai var izskatīties šādi:
oktets [1]: = longip div 16777216;
nākamais numurs: = longip mod 16777216;
oktets [2]: = nākamais numurs div 65536;
nākamais numurs: = nākamais numurs mod 65536;
oktets [3]: = nākamais numurs div 256;
oktets [4]: = nākamais numurs mod 256;