محوّل من النظام السداسي عشر (HEX) إلى النظام الثنائي

يقابل كل رقم سداسي عشر أربعة بتات بالضبط، ولذلك يُعد التحويل من السداسي عشر إلى الثنائي أبسط تحويل بين الأنظمة العددية. الصق قيمة سداسية عشرة واحدة أو عدة قيم، فتُنتج هذه الأداة السلسلة الثنائية بحيث يُوسَّع كل رقم إلى نيبل بطول 4 بتات مُكمَّلًا بالأصفار في البداية، وهو أمر مفيد في توثيق حقول البتات، وسجلات البرامج الثابتة، وتصحيح الأخطاء منخفض المستوى.

كيفية التحويل من السداسي عشر إلى الثنائي

  1. 1

    الصق القيمة السداسية عشرة

    أدخل أي مزيج من الأرقام 0 إلى 9 والأحرف a إلى f؛ وتُزال البادئات مثل `0x` وأي فواصل تلقائيًا.

  2. 2

    يصبح كل رقم 4 بتات

    يُوسَّع كل رقم سداسي عشر إلى ما يعادله الثنائي من 4 بتات، وبذلك تحتوي المخرجات دائمًا على 4 بتات لكل رقم.

  3. 3

    تُحتفظ الأصفار البادئة دائمًا

    يحتفظ كل نيبل ببتاته الأربعة كاملة حتى تبقى حدود البايتات متطابقة؛ ولا يوجد خيار للاقتطاع.

  4. 4

    انسخ القيمة الثنائية

    المخرجات عبارة عن سلسلة نصية خالصة من `0/1` مجمَّعة في نيبلات بطول 4 بتات، جاهزة للصق في المستندات أو تعليقات البرامج الثابتة أو الآلة الحاسبة.

التقابل بين السداسي عشر والثنائي

النظام السداسي عشر تمثيل مضغوط للنظام الثنائي؛ فرقمان سداسيان عشران يعادلان بايتًا واحدًا، أي 8 بتات. والتحويل بينهما سريع ذهنيًا لأن كل رقم سداسي عشر يمثّل أربعة بتات بالضبط.

جدول البحث عن النيبل

السداسي عشر الثنائي العشري
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
A 1010 10
B 1011 11
C 1100 12
D 1101 13
E 1110 14
F 1111 15

وبذلك يصبح 0x2F هو 0010 1111.

لماذا يهمّ التجميع بأربعة بتات

يتوقع المهندسون عند قراءة دليل مرجعي لمعالج STM32 أو AVR أو RISC-V أن تكون السجلات مرتّبة في مجموعات من أربعة بتات. ويُظهر هذا التجميع بوضوح أن القيمة 0x8001 لها البت الأعلى (MSB) والبت الأدنى (LSB) مضبوطان فقط، دون أي بتات بينهما.

ترتيب البايتات والبادئات

  • 0x بادئة سداسية عشرة على نمط لغة C؛ و&H تعود إلى لغة BASIC القديمة؛ و$ تُستخدم في تجميعة معالج 6502. يزيل المحوّل الأشكال الثلاثة جميعها، وكذلك أي أحرف أخرى ليست سداسية عشرة مثل المسافات أو الشرطات أو النقطتين.
  • تكون المخرجات الثنائية دائمًا بالبت الأعلى قيمةً أولًا، أي وفق ترتيب بايتات الشبكة. وإذا كان النظام المستهدف من نوع little-endian، فبدّل ترتيب البايتات قبل توزيعها.
  • يُخرج كل رقم سداسي عشر بتاته الأربعة كاملة دائمًا، لذلك تظهر قيمة سجلّ من 32 بت دائمًا بعرض 32 بت. ولا يوجد اقتطاع للأصفار البادئة يمكن تشغيله أو إيقافه.

الأسئلة الشائعة

لا. تتحوّل 0xFF و0xff و0xFf جميعها إلى القيمة نفسها 11111111. يتعامل المحوّل مع الأحرف الكبيرة والصغيرة بالطريقة نفسها.

يعمل هذا المحوّل على القيمة المطلقة فقط: علامة - البادئة ليست حرفًا سداسي عشر، لذلك تُزال ويصبح -0x01 هو 0000 0001 تمامًا مثل 0x01. وإذا احتجت إلى مخرجات بالمتمّم الثنائي أو بإشارة، فاستخدم أداة مخصّصة للأعداد ذات الإشارة.

نعم. افصل بينها بمسافات أو أسطر جديدة، فيزيل المحوّل الفواصل: فتصبح 2A 3B هي 0010 1010 0011 1011. لاحظ أن المخرجات عبارة عن تدفّق واحد متصل، لذلك لا تُحتفظ بالحدود بين قيم الإدخال.

نعم. يُخرج كل رقم سداسي عشر بتاته الأربعة كاملة دائمًا مع الاحتفاظ بالأصفار البادئة، لذلك تظهر قيمة سجلّ من 32 بت مثل 0x80010000 بالشكل 1000 0000 0000 0001 0000 0000 0000 0000 مع بقاء حدود البايتات متطابقة دائمًا.

أدوات ذات صلة

الأداة متاحة بلغات أخرى