Як перевести ip-адреса

IP-адреса складається з чотирьох десяткових чисел, кожне з яких може приймати значення від 0 до 255. Кожне таке число еквівалентно двухразрядного шістнадцятиричним або восьмирозрядним двоичному, і тому називається октетом. Ці чотири коротких числа при складанні скриптів іноді вимагають перекладу в одне довге.
Як перевести ip-адреса
Інструкція
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 скористайтеся для перекладу IP-адреси в довгу форму готової функцією ip2long. Аналогічну за призначенням функцію можна скласти і включити в програму або окремий модуль на іншій мові програмування.
7
Завдання перекладу IP-адреси з довгої форми назад в коротку виникає значно рідше. Щоб це зробити, поділіть довгу адресу на 16777216, і ціла частина результату ділення стане першим октетом. Залишок (Не переплутайте його з дробовою частиною) поділіть на 65536, і вийде другий октет, і так далі. На інженерних калькуляторах обчислення залишку від ділення здійснюйте так: [C] перше число [MOD] друге число [=]. У найпростіших калькуляторах ця функція відсутня.
8
При складанні функції для здійснення зворотного перекладу на тій чи іншій мові програмування користуйтеся функціями для цілочисельного ділення і обчислення залишку від ділення. Наприклад, у мові Паскаль вони називаються, відповідно, div та mod. Фрагмент програми для здійснення такого переказу може виглядати так:



octet [1]: = longip div 16777216;
nextnumber: = longip mod 16777216;
octet [2]: = nextnumber div 65536;
nextnumber: = nextnumber mod 65536;
octet [3]: = nextnumber div 256;
octet [4]: = nextnumber mod 256-


Увага, тільки СЬОГОДНІ!