حاسبة الأرقام السداسية عشرية
إذا سبق أن رأيت كود لون مثل #FF6347 أو رسالة خطأ برمجية تحتوي رمزاً غريباً مثل 0x1A3، فأنت تتعامل مع النظام السداسي عشري. هذه حاسبة الأرقام السداسية عشرية تحوّل بين Hex والعشري والثنائي والثماني في آنٍ واحد، وتتيح لك أيضاً إجراء الجمع والطرح والضرب والقسمة مباشرة على قيم Hex بدقة تامة عبر تقنية الأعداد الصحيحة غير المحدودة.
محوّل الأنظمة العددية
عمليات حسابية على الأرقام السداسية عشرية
هذا الجدول هو أساس فهم النظام السداسي عشري؛ كل رمز واحد فيه يقابل بالضبط أربع خانات ثنائية:
| عشري | سداسي عشري | ثنائي (4 بت) |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| 10 | A | 1010 |
| 11 | B | 1011 |
| 12 | C | 1100 |
| 13 | D | 1101 |
| 14 | E | 1110 |
| 15 | F | 1111 |
النظام السداسي عشري (Hexadecimal، ويُختصر Hex) هو نظام عد أساسه 16، يستخدم الرموز من 0 إلى 9 ثم الحروف A إلى F لتمثيل القيم من 10 إلى 15. جاء استخدامه لأنه يمثّل اختصاراً مثالياً للثنائي: كل رمز سداسي عشري واحد يقابل بالضبط 4 بتات ثنائية، فبدلاً من كتابة رقم ثنائي طويل مثل 10111111001100112 يمكن كتابته باختصار BF33.
الصيغة الرياضية لتحويل رقم Hex إلى عشري هي جمع حاصل ضرب كل رمز في قيمة منزلته، وهي قوة للعدد 16 حسب موقعها من اليمين:
القيمة = (الرمز × 16^الموضع) لكل خانة، ثم جمع النواتج
مثلاً 9C = (9×16¹)+(12×16⁰) = 144+12 = 156. لاحظ أن الرمز C يقابل القيمة 12، وهذا أهم فرق يجب تذكّره عند القراءة اليدوية لأرقام Hex.
في تطوير الويب والتصميم:
- أكواد الألوان: كل لون على الويب يُكتب بصيغة #RRGGBB، حيث يمثل كل زوج رموز قناة لون واحدة بين 00 و FF
- أدوات المطورين: متصفحات الويب وبرامج التصميم تعرض وتقبل ألوان Hex مباشرة في كل مكان
في علوم الحاسوب وتصحيح الأخطاء:
- عناوين الذاكرة: عناوين المتغيرات والمؤشرات (Pointers) تُعرض دائماً بصيغة Hex في أدوات التصحيح (Debuggers)
- رسائل الأخطاء ورموز الحالة: أكواد مثل 0x0000005 شائعة في سجلات الأنظمة وتقارير الأعطال
في الشبكات:
- عناوين MAC: عنوان كل بطاقة شبكة يُكتب كستة أزواج من رموز Hex مفصولة بنقطتين رأسيتين مثل 00:1A:2B:3C:4D:5E
- عناوين IPv6: تُكتب بالكامل باستخدام مجموعات من الرموز السداسية عشرية لاختصار الأرقام الطويلة
في أمن المعلومات:
- بصمات التشفير (Hashes): نواتج دوال مثل MD5 وSHA تُعرض دائماً كسلسلة رموز سداسية عشرية
- مفاتيح التشفير: العديد من مفاتيح التشفير ومعرّفات الشهادات الرقمية تُكتب بصيغة Hex لسهولة نسخها ومقارنتها
للتوضيح العملي، إليك بعض أكواد الألوان الشائعة في تطوير الويب وكيف تُقرأ:
| اللون | كود Hex | عشري (R,G,B) |
|---|---|---|
| أسود | #000000 | 0, 0, 0 |
| أبيض | #FFFFFF | 255, 255, 255 |
| أحمر | #FF0000 | 255, 0, 0 |
| أخضر داكن | #008000 | 0, 128, 0 |
| طماطمي (Tomato) | #FF6347 | 255, 99, 71 |
مثال 1: كود لون طماطمي #FF6347 إلى عشري
FF = 15×16 + 15 = 255، و63 = 6×16 + 3 = 99، و47 = 4×16 + 7 = 71. إذن اللون هو RGB(255, 99, 71).
مثال 2: جمع سداسي عشري 1A3 + 2F
1A3 = 419 بالعشري، و2F = 47 بالعشري. مجموعهما = 466، وبالسداسي عشري 1D2 (لأن 1×256 + 13×16 + 2 = 466).
مثال 3: ضرب سداسي عشري A × 5
A = 10 بالعشري، و10×5 = 50، وبالسداسي عشري 32 (لأن 3×16 + 2 = 50).
مثال 4: قسمة سداسية عشرية بباقٍ FF ÷ 10
FF = 255 بالعشري، و10 (سداسي عشري) = 16 بالعشري. 255 ÷ 16 = 15 والباقي 15، إذن الخارج F والباقي F.
- تذكّر قيم الحروف: A=10، B=11، C=12، D=13، E=14، F=15 — هذا أكثر ما يسبب الخطأ اليدوي في التحويل
- حالة الأحرف لا تهم: "9c" و"9C" يمثلان نفس القيمة تماماً، فالنظام لا يفرّق بين الأحرف الكبيرة والصغيرة
- لا تنسَ البادئة عند البرمجة: في أغلب لغات البرمجة تُكتب قيم Hex ببادئة 0x مثل 0x9C لتمييزها عن الأرقام العشرية
- القسمة قد لا تكون تامة: تعامل مع الخارج والباقي كوحدة واحدة عند التفسير، تماماً كالقسمة العشرية العادية
أسئلة متكررة
كيف أحوّل رقماً سداسياً عشرياً إلى عشري؟
اضرب كل رمز في قيمة منزلته وهي قوة العدد 16 حسب موقعها، متذكراً أن A=10 وB=11 وC=12 وD=13 وE=14 وF=15، ثم اجمع النواتج. مثلاً 9C = (9×16)+(12×1) = 156. أدخل رقمك في الحاسبة واختر "عشري" لتحصل على الناتج فوراً.
لماذا يُستخدم النظام السداسي عشري في ألوان الويب؟
لأن كل قناة لون (أحمر وأخضر وأزرق) تتراوح بين 0 و255، وهذا المدى يُمثَّل بدقة برقمين سداسي عشريين فقط (00 إلى FF)، مما يجعل كود اللون مختصراً وسهل القراءة والنسخ مقارنة بكتابته بالثنائي أو العشري الطويل.
ماذا يعني الرمز الواحد في النظام السداسي عشري؟
كل رمز سداسي عشري واحد يقابل بالضبط 4 خانات ثنائية (بتات)، لأن 2⁴=16. هذا يجعل التحويل بين الثنائي والسداسي عشري سريعاً جداً؛ يكفي تحويل كل رمز على حدة إلى 4 بتات دون أي حسابات معقدة.
ما الفرق بين Hex وBinary وOctal؟
الثلاثة أنظمة (2، 8، 16) هي في جوهرها اختصارات مختلفة للنظام الثنائي. الثماني يجمع كل 3 بتات في رمز واحد (0-7)، والسداسي عشري يجمع كل 4 بتات في رمز واحد (0-F)، لذلك السداسي عشري أكثر اختصاراً وهو الأكثر شيوعاً في البرمجة الحديثة.
هل حروف Hex حساسة لحالة الأحرف؟
لا. "ff" و"FF" و"Ff" تمثل جميعها نفس القيمة (255 بالعشري). الحاسبة تقبل الحالتين وتعرض الناتج بأحرف كبيرة تلقائياً لتسهيل القراءة.
هل يمكن للحاسبة التعامل مع أرقام سداسية عشرية طويلة جداً؟
نعم، الحاسبة تعتمد على تقنية الأعداد الصحيحة الكبيرة (BigInt) للحفاظ على الدقة الكاملة دون أي تقريب، مع حد أقصى 32 رمزاً لكل رقم في عمليات الجمع والطرح والضرب والقسمة لضمان استجابة سريعة.
هل تعمل الحاسبة على الهاتف؟
نعم تماماً. تعمل الحاسبة بسلاسة على جميع الأجهزة بما فيها الهواتف الذكية، وتُحدَّث النتائج تلقائياً فور إدخال أي قيمة دون الحاجة لتثبيت أي تطبيق.