لماذا النظام الست عشري؟
جزء من قسم الأساسيات في رحلة Assembly على Coddy — الدرس 10 من 45.
أنت تعلم الآن أن الحواسيب تستخدم النظام الثنائي. إذًا لماذا يندر أن يكتب مبرمجو لغة التجميع (assembly) النظام الثنائي مباشرة؟
المشكلة في النظام الثنائي:
الأرقام الثنائية طويلة جداً. انظر إلى هذا المثال:
| الرقم | ثنائي |
|---|---|
| 255 | 11111111 |
| 1000 | 1111101000 |
| 65535 | 1111111111111111 |
إن كتابة سلاسل طويلة من الآحاد والأصفار أمر بطيء، وعرضة للخطأ، ويصعب قراءته.
الحل: النظام الست عشري (الأساس 16).
يستخدم النظام الست عشري (أو "hex") 16 رمزاً:
| الرقم | القيمة |
|---|---|
| 0-9 | 0 إلى 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
لماذا يعد النظام الست عشري (hex) مثاليًا لأجهزة الكمبيوتر:
يمثل رقم ست عشري واحد 4 بتات بالضبط (نصف بايت).
| البتات (Bits) | الأرقام الست عشرية المطلوبة |
|---|---|
| 4 بتات (nibble) | رقم ست عشري واحد |
| 8 بتات (1 بايت) | رقمان ست عشريان |
| 16 بت (2 بايت) | 4 أرقام ست عشرية |
| 32 بت (4 بايت) | 8 أرقام ست عشرية |
| 64 بت (8 بايت) | 16 رقمًا ست عشريًا |
نفس الرقم، بثلاث طرق:
| عشري | ثنائي | سداسي عشر |
|---|---|---|
| 255 | 11111111 | FF |
| 1000 | 1111101000 | 3E8 |
| 65535 | 1111111111111111 | FFFF |
لاحظ مدى قصر النظام الست عشري مقارنة بالنظام الثنائي.
أين ستجد النظام الست عشري (hex) في لغة التجميع (assembly):
- عناوين الذاكرة (مثل
0x7FFFأو0x402000) - أكواد ASCII (مثل
0x41لـ 'A'، و0x0aلسطر جديد)
- قيم السجلات في مصححات الأخطاء
- قيم الألوان (مثل
0xFF0000للون الأحمر)
تُكتب الأرقام الست عشرية (Hex) ببادئة:
| البادئة | مثال | المعنى |
|---|---|---|
0x | 0xFF | FF بالنظام الست عشري (255 بالنظام العشري) |
$ | $FF | نفس الشيء (تُستخدم في بعض لغات التجميع) |
h | FFh | نفس الشيء (نمط قديم) |
في هذه الدورة، نستخدم البادئة 0x: 0x0a، 0x41، 0xFF.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2أنظمة العد
لماذا النظام الثنائي؟الأعداد الثنائيةمن العشري إلى الثنائيلماذا النظام الست عشري؟من الست عشري إلى العشريمن العشري إلى الست عشريASCII والست عشري5استدعاء النظام Exit Syscall
ما هو الـ Syscall؟استدعاء النظام Exit Syscall (60)رموز الخروج (Exit Codes)ملخص: الخروج النظيف (Clean Exit)