IP адресът се състои от четири десетични числа, всяко от които може да варира от 0 до 255. Всяко такова число е еквивалентно на двуцифрено шестнадесетично или осембитово двоично число и затова се нарича октет. Тези четири кратки числа понякога трябва да бъдат преведени в едно дълго, когато пишете скриптове.
Инструкции
Етап 1
Умножете първия октет на IP адреса с 16777216 или, еквивалентно, 256 на третата степен. Например, ако говорим за IP адреса 192.168.1.1 (често се среща в малки локални мрежи), след умножаването на числото 192 по 16777216 получавате 3221225472.
Стъпка 2
Умножете второто число по 65536 - толкова получавате, ако вдигнете 256 до втората степен. Например в адреса 192.168.1.1 трябва да умножите 168 по 65536 и ще получите 11010048.
Стъпка 3
Умножете третия октет по 256 на първата степен - т.е. по самото число 256. Ако конвертирате IP адреса 192.168.1.1 в дълга форма, резултатът от това умножение ще бъде 256 * 1 = 256.
Стъпка 4
Оставете четвъртото число непроменено, което е еквивалентно на умножаване по едно. Това се дължи на факта, че ако повдигнете числото 256 (или което и да е друго число) до нулевата степен, ще получите 1. В IP адреса 192.168.1.1 резултатът от умножението ще бъде 1 * 1 = 1.
Стъпка 5
Добавете всичките четири резултата от умножението заедно. За разгледания тук пример сумата ще изглежда така: 3232235777.
Стъпка 6
Когато програмирате в PHP, използвайте готовата функция ip2long, за да преведете IP адрес в дълга форма. Функция, подобна по предназначение, може да бъде съставена и включена в програма или отделен модул на друг език за програмиране.
Стъпка 7
Задачата за превод на IP адрес от дълга форма обратно в кратка се среща много по-рядко. За да направите това, разделете дългия адрес на 16777216 и цялата част от резултата от разделянето става първият октет. Разделете остатъка (не го бъркайте с дробната част) на 65536, за да получите втория октет и т.н. В инженерните калкулатори изчислете модула, както следва: [C] първо число [MOD] второ число [=]. Най-простите калкулатори нямат тази функция.
Стъпка 8
Когато пишете функция за извършване на обратен превод в определен програмен език, използвайте функции за целочислено деление и изчисляване на остатъка от делението. Например в Pascal те се наричат съответно div и mod. Фрагмент от програмата за извършване на такъв превод може да изглежда така:
октет [1]: = longip div 16777216;
nextnumber: = longip mod 16777216;
октет [2]: = следващ номер div 65536;
nextnumber: = nextnumber mod 65536;
октет [3]: = nextnumber div 256;
октет [4]: = nextnumber mod 256;