النظام السداسي عشر في جملة واحدة
النظام السداسي عشر نظام عدّ موضعي أساسه 16: كل رقم يساوي 16 ضعف الرقم الذي على يمينه، وتُكتب القيم من 10 إلى 15 بالحروف من A إلى F. وللدلالة على أن العدد بنظام hex، يكتب المبرمجون 0x1A (في C وJava وJavaScript وPython)، و#1A2B3C لألوان CSS، و1Ah في لغة التجميع (assembly)، أو 1A₁₆ في الرياضيات.
أرقام hex من 0 إلى 15
| عشري | Hex | ثنائي | عشري | Hex | ثنائي |
|---|---|---|---|---|---|
| 0 | 0 | 0000 | 8 | 8 | 1000 |
| 1 | 1 | 0001 | 9 | 9 | 1001 |
| 2 | 2 | 0010 | 10 | A | 1010 |
| 3 | 3 | 0011 | 11 | B | 1011 |
| 4 | 4 | 0100 | 12 | C | 1100 |
| 5 | 5 | 0101 | 13 | D | 1101 |
| 6 | 6 | 0110 | 14 | E | 1110 |
| 7 | 7 | 0111 | 15 | F | 1111 |
العدّ بنظام hex
يجري العدّ في hex كما في النظام العشري، لكن الانتقال إلى منزلة جديدة يحدث بعد F بدلًا من 9: … 8، 9، A، B، C، D، E، F، 10، 11 … 19، 1A … 1F، 20 … FF، 100. هنا 10 تعني ستة عشر، و100 تعني 16 × 16 = 256. ويغطي رقمان hex بايتًا واحدًا (00–FF = 0–255)، وتصل أربعة أرقام إلى FFFF = 65,535، وثمانية أرقام إلى FFFFFFFF = 4,294,967,295.
لماذا تستخدم الحواسيب النظام السداسي عشر؟
تخزّن الحواسيب كل شيء بالنظام الثنائي، لكن السلاسل الطويلة من الأصفار والآحاد صعبة القراءة على البشر ومن السهل الخطأ في كتابتها. ولأن 16 = 2⁴، فإن رقم hex واحدًا يمثّل أربعة بتات بالضبط (nibble)، ورقمين hex يمثّلان بايتًا واحدًا. والتحويل بين hex والثنائي مجرد استبدال بسيط رقمًا برقم، كما أن hex أقصر بأربع مرات: 1101 1110 1010 1101 هي ببساطة DEAD. أما النظام العشري فليست له علاقة مباشرة كهذه بالنظام الثنائي، ولهذا نادرًا ما يُستخدم لتمثيل البيانات الخام.
التحويل من hex إلى العشري وبالعكس
- من hex إلى العشري: اضرب كل رقم في قوة 16 المقابلة لمنزلته ثم اجمع:
2F= 2 × 16 + 15 = 47، و1A3F= 1 × 4096 + 10 × 256 + 3 × 16 + 15 = 6719. - من العشري إلى hex: اقسم على 16 بشكل متكرر واقرأ البواقي بالترتيب العكسي: 200 ÷ 16 = 12 والباقي 8، و12 = C، إذن 200 =
C8. - من hex إلى الثنائي: استبدل كل رقم ببتاته الأربعة:
2F=0010 1111.
تنفّذ أدوات التحويل لدينا كل ذلك فورًا وتعرض كل خطوة.
أين يُستخدم النظام السداسي عشر؟
- ألوان الويب:
#FF6347تعني الأحمرFFوالأخضر63والأزرق47. - عناوين الذاكرة: تعرض أدوات تصحيح الأخطاء وتقارير الأعطال مؤشرات مثل
0x7FFE5A3C. - عناوين MAC: ستة بايتات مثل
00:1A:2B:3C:4D:5Eتحدد بطاقات الشبكة. - عناوين IPv6: ثماني مجموعات من أربعة أرقام hex، مثل
2001:db8::1. - Unicode: لكل حرف نقطة ترميز (code point) بنظام hex –
U+00E9هي é، وU+1F600هي 😀، والحرف «ع» هو U+0639. - قيم الهاش والمعرّفات: يتكوّن هاش SHA-256 من 64 رمزًا بنظام hex، وتُكتب معرّفات UUID ومعرّفات commit في Git بنظام hex.
- تفريغات hex: تعرض محررات hex محتوى الملفات بايتًا بايتًا؛ ويبدأ كل ملف PDF بالبايتات
25 50 44 46(«%PDF»). - رموز الأخطاء: يعرض Windows أخطاء مثل
0x80070005(تم رفض الوصول).
مقارنة بين الأنظمة السداسي عشر والعشري والثماني والثنائي
| النظام | الأساس | الأرقام | كتابة 255 | الاستخدام الشائع |
|---|---|---|---|---|
| الثنائي | 2 | 0–1 | 11111111 | العتاد، أعلام البتات |
| الثماني | 8 | 0–7 | 377 | صلاحيات الملفات في Unix (chmod 755) |
| العشري | 10 | 0–9 | 255 | الأعداد اليومية |
| السداسي عشر | 16 | 0–9، A–F | FF | البايتات والألوان والعناوين وقيم الهاش |
الأعداد السالبة في hex
لا يملك hex بحد ذاته رمزًا خاصًا للإشارة، لذا تُخزَّن الأعداد السالبة عادةً بصيغة المتمم الثنائي: حيث يدل البت الأعلى في القيمة ذات الحجم الثابت على أنها سالبة. فكبايت بإشارة، 7F تساوي 127، و80 تساوي −128، وFF تساوي −1؛ وكعدد صحيح من 32 بت، FFFFFFFF تساوي −1. وفي الرياضيات وفي آلتنا الحاسبة يمكنك أيضًا كتابة إشارة السالب ببساطة: −1A = −26.
الأسئلة الشائعة
لماذا يستخدم النظام السداسي عشر الحروف؟
يحتاج الأساس 16 إلى ستة عشر رقمًا يتكوّن كل منها من رمز واحد، لكن لا توجد سوى عشرة أرقام. لذا تمثّل الحروف A–F القيم 10–15. والأحرف الكبيرة والصغيرة لها المعنى نفسه: ff = FF = 255.
ماذا تعني 0x قبل العدد؟
تدل على أن العدد مكتوب بالنظام السداسي عشر في C وC++ وJava وJavaScript وPython وكثير من اللغات الأخرى: 0x10 تساوي 16 وليس عشرة. أما CSS فتستخدم # للألوان بدلًا منها، وغالبًا ما تضيف شيفرة التجميع (assembly) اللاحقة h في النهاية (10h).
هل النظام السداسي عشر هو نفسه Base64؟
لا. يكتب hex كل بايت كحرفين من 0–9 وA–F، لذا يتضاعف حجم البيانات لكنها تبقى سهلة القراءة بايتًا بايتًا. أما Base64 فيستخدم 64 حرفًا ويضع كل 3 بايتات في 4 أحرف، وهو أكثر إحكامًا (زيادة بنحو 33%) لكنه غير مقروء على مستوى البايت.
آخر تحديث: