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