يتكون عنوان 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.
الخطوة الخامسة
اجمع نتائج الضرب الأربعة معًا. بالنسبة للمثال المذكور هنا ، سيبدو المبلغ كما يلي: 3232235777.
الخطوة 6
عند البرمجة بلغة PHP ، استخدم الوظيفة الجاهزة ip2long لترجمة عنوان IP إلى صيغة طويلة. يمكن تكوين وظيفة مماثلة في الغرض وتضمينها في برنامج أو وحدة منفصلة في لغة برمجة أخرى.
الخطوة 7
تحدث مهمة ترجمة عنوان IP من نموذج طويل إلى آخر قصير بشكل أقل تكرارًا. للقيام بذلك ، قسّم العنوان الطويل على 16777216 ، وسيصبح الجزء الكامل من نتيجة القسمة هو أول ثماني بتات. اقسم الباقي (لا تخلط بينه وبين الجزء الكسري) على 65536 للحصول على الثمانية الثانية ، وهكذا. في الحاسبات الهندسية ، احسب المعامل على النحو التالي: [C] الرقم الأول [MOD] الرقم الثاني [=]. أبسط الآلات الحاسبة لا تملك هذه الميزة.
الخطوة 8
عند كتابة دالة لإجراء ترجمة عكسية في لغة برمجة معينة ، استخدم الدوال لقسمة عدد صحيح وحساب باقي القسمة. على سبيل المثال ، في باسكال يطلق عليهم div و mod ، على التوالي. قد يبدو جزء من برنامج تنفيذ مثل هذه الترجمة كما يلي:
ثماني بتات [1]: = longip div 16777216 ؛
nextnumber: = mod longip 16777216 ؛
ثماني بتات [2]: = nextnumber div 65536 ؛
nextnumber: = nextnumber mod 65536 ؛
ثماني بتات [3]: = nextnumber div 256 ؛
ثماني بتات [4]: = الرقم التالي mod 256 ؛