جدول مرجعي لأرقام السداسي عشري
يقابل كل رقم سداسي عشري قيمة واحدة من صفر إلى خمسة عشر، ويقابل أربعة أرقام ثنائية بالضبط.
| الرقم السداسي عشري | القيمة العشرية | الثنائي (4 بتات) |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 4 | 4 | 0100 |
| 7 | 7 | 0111 |
| 9 | 9 | 1001 |
| A | 10 | 1010 |
| C | 12 | 1100 |
| F | 15 | 1111 |
- تقتصر المدخلات على 12 رقمًا سداسيًا عشريًا لكل معامل، ويجب أن تبقى النتائج ضمن نطاق الأعداد الصحيحة الدقيقة لمعيار IEEE 754 مزدوج الدقة (2⁵³ − 1)؛ وتُرفض النتائج الأكبر بدلًا من تقريبها.
- قد ينتج عن الطرح ناتج سالب يُعرض بإشارة ناقص؛ ولا يُستخدم هنا تمثيل المتمم الثنائي.
ما هو الحساب بالنظام السداسي عشري؟
النظام السداسي عشري نظام عددي موضعي أساسه 16: يمثّل كل موضع من مواضع الأرقام قوة من قوى 16، ورموزه الستة عشر هي 0–9 يليها A (عشرة) وB (أحد عشر) وC (اثنا عشر) وD (ثلاثة عشر) وE (أربعة عشر) وF (خمسة عشر). فالعدد السداسي عشري 1A يعني 1×16 + 10 = 26 في النظام العشري، و2F يعني 2×16 + 15 = 47.
يتبع الحساب في النظام السداسي عشري القواعد نفسها المتبعة في النظام العشري، غير أن الحمل والاستلاف يحدثان عند ستة عشر بدلًا من عشرة. فجمع الرقمين السداسيين A وF يعطي خمسة وعشرين، وهي 19 في السداسي عشري — اكتب 9 واحمل 1. ويجد معظم الناس أن التحويل إلى العشري ثم الحساب ثم التحويل العكسي أسهل، وهو تحديدًا ما تفعله هذه الحاسبة داخليًا.
يستحق النظام السداسي عشري مكانته في الحوسبة لأن 16 = 2⁴: فالرقم السداسي عشري الواحد يقابل أربعة أرقام ثنائية بالضبط، ومن ثم فإن البايت (8 بتات) يكون دائمًا رقمين سداسيين عشريين، من 00 إلى FF. وتُكتب عناوين الذاكرة وقيم الألوان والمجاميع الاختبارية وتفريغات البايتات الخام بالسداسي عشري عرفًا، وغالبًا مع البادئة 0x.
كيفية استخدام حاسبة السداسي عشري
- أدخل العدد السداسي عشري الأول (الأرقام 0–9 والحروف A–F؛ وتُقبل البادئة الاختيارية 0x).
- اختر العملية: الجمع أو الطرح أو الضرب — أو التحويل، الذي يترجم العدد الأول وحده.
- في حالة العمليات الحسابية، أدخل العدد السداسي عشري الثاني.
- اقرأ النتيجة بالنظام السداسي عشري والعشري والثنائي. وفي وضع التحويل يعرض الناتج الصيغتين العشرية والثنائية للعدد الأول.
الرياضيات وراء الحساب السداسي عشري
يُقيَّم كل معامل رقمًا برقم مقابل قوى 16 للحصول على قيمته العشرية؛ ثم تُجرى العملية على القيم العشرية؛ ثم يُعاد التعبير عن النتيجة بالأساس 16 عبر القسمة المتكررة.
مثال محلول: 1A + 2F. في النظام العشري، 1A = 26 و2F = 47، فيكون المجموع 73. وبالتحويل العكسي: 73 ÷ 16 = 4 والباقي 9، إذن 73 = 49 في السداسي عشري و1001001 في الثنائي. ويحدث الأمر نفسه عموديًا رقمًا برقم: A + F = 25 = 19₁₆، اكتب 9 واحمل 1؛ ثم 1 + 2 + 1 = 4 — فينتج 49₁₆.
أخطاء شائعة
- الحمل عند عشرة بدلًا من ستة عشر عند جمع الأرقام السداسية عشرية يدويًا — فناتج A + F هو 19₁₆ (اكتب 9 واحمل 1) وليس 25.
- قراءة الأعداد السداسية عشرية كأنها عشرية: فالعدد 10₁₆ يساوي ستة عشر لا عشرة، و100₁₆ يساوي 256.
- الخلط بين الحرف O والرقم 0، أو بين الحرف l والرقم 1، عند نسخ القيم السداسية عشرية.
- نسيان أن البايت يساوي رقمين سداسيين عشريين بالضبط — فحذف الصفر البادئ (0x0F ← F) غير ضار عدديًا لكنه يكسر صيغة البايت ثابتة العرض.
الأسئلة الشائعة
كيف أجمع عددين سداسيين عشريين؟
اجمع عموديًا من اليمين تمامًا كالجمع العشري، لكن احمل عندما يبلغ العمود ستة عشر. ففي 1A + 2F: A (10) + F (15) = 25 = 16 + 9، فاكتب 9 واحمل 1؛ ثم 1 + 2 + 1 = 4. والنتيجة 49 بالسداسي عشري، أي 73 في النظام العشري.
ماذا تعني البادئة 0x قبل العدد؟
تشير البادئة 0x إلى أن العدد سداسي عشري، تمييزًا له عن العدد العشري. وقد جاءت من لغة البرمجة C وصارت اليوم شبه عالمية: فالرمز 0x1A يعني 1A بالسداسي عشري، أي 26 في النظام العشري. وتقبل هذه الحاسبة الإدخال السداسي عشري بالبادئة أو بدونها.
كيف أحوّل من السداسي عشري إلى العشري؟
اضرب قيمة كل رقم سداسي عشري في قوة 16 الموافقة لموضعه، بدءًا من 0 عند اليمين، ثم اجمع النواتج. ففي 2F: 2×16 + 15×1 = 47. وفي 1A3: 1×256 + 10×16 + 3×1 = 419. والحروف A–F تدل على القيم 10–15.
كيف أحوّل من السداسي عشري إلى الثنائي؟
استبدل بكل رقم سداسي عشري ما يكافئه من أربعة بتات ثنائية: فتصبح 2F هي 0010 1111. ويعمل هذا الاختصار رقمًا برقم لأن 16 = 2⁴، فلا حاجة إلى أي عملية حسابية — وهذا هو السبب الرئيسي في استخدام السداسي عشري اختصارًا للبيانات الثنائية.
هل تتعامل هذه الحاسبة مع الأعداد السداسية العشرية السالبة؟
قد يعطي الطرح ناتجًا سالبًا يُعرض بإشارة ناقص بادئة (مثل 5 − A = −5). ولا تستخدم الحاسبة ترميز المتمم الثنائي، وهو العرف ثابت العرض الذي تستخدمه المعالجات داخليًا، حيث يمكن لنمط البتات نفسه أن يعني قيمة كبيرة غير مؤشَّرة أو قيمة سالبة مؤشَّرة.
المراجع
- Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition, Addison-Wesley, 1997 — radix arithmetic and conversion.
- IEEE Std 754-2019. IEEE Standard for Floating-Point Arithmetic — exact-integer limits of double precision.