IP-manzilni Qanday Tarjima Qilish Kerak

Mundarija:

IP-manzilni Qanday Tarjima Qilish Kerak
IP-manzilni Qanday Tarjima Qilish Kerak

Video: IP-manzilni Qanday Tarjima Qilish Kerak

Video: IP-manzilni Qanday Tarjima Qilish Kerak
Video: IP MANZIL VA UNI ANIQLASH USULLARI 2024, Dekabr
Anonim

IP-manzil to'rtta o'nlik raqamlardan iborat bo'lib, ularning har biri 0 dan 255 gacha bo'lishi mumkin. Har bir bunday raqam ikki xonali o'n oltinchi yoki sakkiz bitli ikkilikka teng, shuning uchun sakkizli raqam deb ataladi. Ssenariylarni yozishda ba'zida ushbu to'rtta qisqa raqamni bitta uzunlikka tarjima qilish kerak bo'ladi.

IP-manzilni qanday tarjima qilish kerak
IP-manzilni qanday tarjima qilish kerak

Ko'rsatmalar

1-qadam

IP-manzilning birinchi sektsiyasini 16777216 ga, yoki unga teng ravishda, 256 ga uchinchi kuchga ko'paytiring. Masalan, agar biz 192.168.1.1 IP-manzil haqida gapiradigan bo'lsak (u ko'pincha kichik mahalliy tarmoqlarda uchraydi), unda 192 raqamini 16777216 ga ko'paytirgandan so'ng siz 3221225472 olasiz.

2-qadam

Ikkinchi raqamni 65536 ga ko'paytiring - agar siz 256 ni ikkinchi kuchga ko'tarsangiz, shuncha olasiz. Masalan, 192.168.1.1 manzilida siz 168 ni 65536 ga ko'paytirishingiz kerak va siz 11010048 raqamini olasiz.

3-qadam

Uchinchi oktetni birinchi kuchga 256 ga ko'paytiring - ya'ni 256 raqamning o'zi Agar 192.168.1.1 IP manzilini uzun shaklga o'tkazsangiz, u holda bu ko'paytma natijasi 256 * 1 = 256 bo'ladi.

4-qadam

To'rtinchi raqamni o'zgarishsiz qoldiring, bu bittaga ko'paytirilishga teng. Buning sababi shundaki, agar siz 256 raqamini (yoki boshqa biron bir raqamni) nol darajaga ko'targan bo'lsangiz, unda 1. Siz 192.168.1.1 IP-manzilida ko'paytma natijasi 1 * 1 = 1 bo'ladi.

5-qadam

Ko'paytirishning to'rt natijasini ham qo'shib qo'ying. Bu erda ko'rib chiqilgan misol uchun uning miqdori quyidagicha bo'ladi: 3232235777.

6-qadam

PHP-da dasturlashda IP-manzilni uzun shaklga o'tkazish uchun tayyor ip2long funktsiyasidan foydalaning. Maqsadiga o'xshash funktsiya tuzilishi va boshqa dasturlash tilidagi dasturga yoki alohida modulga kiritilishi mumkin.

7-qadam

Uzoq shakldan qisqa shaklga IP-manzilni tarjima qilish vazifasi juda kam uchraydi. Buning uchun uzun manzilni 16777216 ga bo'ling va bo'linish natijasining butun qismi birinchi oktetga aylanadi. Ikkinchi oktetni olish uchun qoldiqni (uni qismli qism bilan aralashtirmang) 65536 ga bo'ling va hokazo. Muhandislik kalkulyatorlarida modulni quyidagicha hisoblang: [C] birinchi raqam [MOD] ikkinchi raqam [=]. Eng oddiy kalkulyatorlarda bu xususiyat mavjud emas.

8-qadam

Muayyan dasturlash tilida teskari tarjimani amalga oshirish uchun funktsiyani yozishda, butun sonni bo'lish va bo'linmaning qolgan qismini hisoblash funktsiyalaridan foydalaning. Masalan, Paskalda ular mos ravishda div va mod deyiladi. Bunday tarjimani amalga oshirish uchun dasturning bir qismi quyidagicha ko'rinishi mumkin:

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 number 256;

Tavsiya: