أنظمة الأرقام والتحويلات
| English | العربية |
|---|---|
| byte/baɪt/ | بايت |
| denary/ˈdiːnəri/ | عشراني |
| binary/ˈbaɪnəri/ | ثنائي |
| bit/bɪt/ | بت |
| nibble/ˈnɪbl/ | نيبل |
| hexadecimal/ˌheksəˈdesɪml/ | ست عشري |
| register width/ˈredʒɪstə wɪtθ/ | عرض المسجل |
| kibi/ˈkɪbi/ | كيبي |
تيرابايت لم يكن تيرابايت
- في عام 2005 اشترى شخص من كاليفورنيا قرصًا صلبًا مُصنّفًا بسعة 80 جيجابايت. أظهر حاسوبه 74.5 جيجابايت. رفع دعوى قضائية، ودفع المصنعةون في النهاية: لقد حسبوا الجيجابايت ألف مليون بايت، بينما حسبه نظام التشغيل على أنه $2^{30}$.
- لا أحدهما كان كاذبًا. هناك عائلتان من البادئات، واحدة مبنية على قوى العشرة والأخرى على قوى الاثنين، وتتباعدان أكثر كلما زاد الرقم.
- يعتمد تمثيل البيانات بالكامل على هذه الفكرة: تخزن الحاسوب فقط 0s و 1s، وكل شيء آخر هو اتفاق حول كيفية قراءتها.
- درسنا هذا هو الأنظمة العددية الثلاثة، والتحويلات بينها، وعائلتي البادئتين.
الأنظمة العددية الثلاثة
- العشرية (القاعدة 10) تستخدم الأرقام 0 إلى 9، مع قيم مکانية هي قوى العشرة. وهي النظام اليومي.
- الثنائية (القاعدة 2) تستخدم 0 و1، مع قيم مکانية هي قوى الاثنين. الرمز الواحد هو بت؛ 4 بتات تُشكّل نيبل؛ 8 بتات تُشكّل بايت.
- الست عشرية (القاعدة 16) تستخدم 0 إلى 9 ثم A إلى F للقيم من 10 إلى 15. كل رقم ست عشري يقابل 4 بتات تمامًا، ولهذا السبب تُعدّ اختصارًا يستخدمه المبرمجون للثنائية.
| عشرية | ثنائية | ست عشرية |
|---|---|---|
| 10 | 1010 |
A |
| 15 | 1111 |
F |
| 16 | 0001 0000 |
10 |
| 255 | 1111 1111 |
FF |

كل نظام يعتمد على القيم المكانية؛ يتغير فقط القاعدة
أنظمة الأرقام
byte = مجموع قيم المواقع
كل بت له قيمة قوة العدد 2 — قم بتبديل البتات وشاهد تحديث النظام العشري والست عشري.
كم عدد البتات التي تمثل خانة سداسية عشرية واحدة؟
يغطي الرمز الست عشري الواحد (0–F) 16 قيمة = $2^4$، لذا فهو يترجم إلى 4 بتات بالضبط (نيببل).
كم عدد البتات في بايت واحد؟
البايت يتكون من 8 بتات (والنيببل يتكون من 4 بتات).
التحويل من العشرية إلى الثنائية
- الطريقة 1، القيم المكانية: اكتب قوى الاثنين $128, 64, 32, 16, 8, 4, 2, 1$، اطرح الأكبر الذي يتناسب معها، وأعد العملية مع الباقي. ضع 1 تحت كل قيمة استخدمتها.
- الطريقة 2، القسمة المتكررة: قسّم على 2 مرارًا وتكرارًا، واكتب كل باقٍ، ثم اقرأ البواقي من الأسفل إلى الأعلى.
- $42 = 32 + 8 + 2$، لذا فإن البتات تحت 32 و8 و2 هي 1 والباقي 0:
0010 1010.

اطرح أكبر قوة من اثنين تتناسب معها، وأعد العملية
حول الرقم العشري $13$ إلى النظام الثنائي (لا يلزم استخدام 8 بتات — فقط البتات ذات الأهمية).
$13 = 8 + 4 + 1$، لذا فإن الأعمدة 8 و 4 و 1 محددة: 1101.
حول الرقم الثنائي 00101010 إلى النظام العشري.
$32 + 8 + 2 = 42$ (تم تحديد أعمدة 32 و 8 و 2).
مثال محلول: تحويل 200 من العشرية إلى الثنائية والست عشرية
- $200 = 128 + 64 + 8$، لذا فإن التمثيل الثنائي المكون من 8 بتات هو
1100 1000. - قسمها إلى نيبلات من اليمين:
1100يساوي 12، وهو C؛1000يساوي 8. إذن الست عشرية هيC8. - تحقق باستخدام القيم المكانية بالاتجاه المعاكس:
C8$= 12 \times 16 + 8 = 200$. ✓ always must show the working; the conversion itself carries the marks.
الثنائية والست عشرية، في كلا الاتجاهين
- من الثنائية إلى الست عشرية: جمّع البتات في نيبلات من اليمين، وأضف أصفارًا لملء المجموعة اليسرى، ثم حوّل كل نيبل.
0010 0010 1110تصبح2 2 E، إذن22E. - من الست عشرية إلى الثنائية: استبدل كل رقم ست عشري بنمط الـ 4 بتات الخاص به. لا حاجة لحسابات.
- من الست عشرية إلى العشرية: اضرب كل رقم في قيمته المكانية، $16^2 = 256$، $16^1 = 16$، $16^0 = 1$.
22E$= 2 \times 256 + 2 \times 16 + 14 = 558$.
حول الرقم الست عشري 2E إلى النظام العشري.
$2 \times 16 + 14 = 32 + 14 = 46$ (حيث E تساوي 14).
حول العدد الثنائي 0010 0010 1110 إلى سداسي عشري.
كل نيببل يُترجم على حدة، من اليمين: 0010 = 2، 0010 = 2، 1110 = 14 = E.
كم عدد البتات التي تحتاجها القيمة؟
- أسئلة الامتحانات تحدد عرض المسجل (8 أو 12 أو 16 بت)، ويجب عليك إضافة أصفار بادئة لهذا العرض. $558$ بمقدار 12 بتاً هو
0010 0010 1110، ولا يمكن أن يكون10 0010 1110. - عدد صحيح غير مسبق الإشارة من 0 إلى $2^n - 1$ يحتاج $n$ بتات: 200 تحتاج 8 بتات (8 بتات تصل إلى 255)، 1000 تحتاج 10 بتات (10 بتات تصل إلى 1023)، 16 تحتاج 5 بتات (4 بتات تتوقف عند 15).
- رقم واحد ست عشري يحتاج 4 بتات، ورقم واحد BCD يحتاج 4 بتات، وحرف ASCII واحد يحتاج 7 بتات، أو 8 للـ Extended ASCII.
اكتب الرقم العشري 558 كرقم ثنائي مكون من 12 بتاً (أربعة بتات لكل مجموعة، المسافات مسموحة).
558 = 512 + 32 + 8 + 4 + 2. أضف أصفاراً بادئة ليصل إلى 12 بتاً كما تطلب السؤال؛ الإجابة غير المصفاة تفقد الدرجة.
مثال محلول: الحد الأدنى لعدد البتات
- يجب على نظام تخزين قيم من 0 إلى 1000. ما هو أقل عدد من البتات؟
- اسأل أي قوة من اثنين تتجاوز 1000 أولاً. $2^9 = 512$، صغيرة جداً؛ $2^{10} = 1024$، إذن 10 بتات تحمل من 0 إلى 1023 ويصلح لها 1000.
- الإجابة هي 10 بتات، والسبب هو النطاق، وليس عدد الأرقام. فخاطئ شائع: 16 تحتاج خمسة بتات، لأن أربعة بتات تتوقف عند 15.
ما هو أقل عدد من البتات يمكنه تخزين أي قيمة غير سالحة من 0 إلى 1000؟
تصل تسعة بتات إلى 511، وعشرة بتات تصل إلى 1023. السؤال يتعلق بالنطاق الذي تغطيه البتات وليس بعدد الخانات.
بادئات الثنائية والبادئات العشرية
- البادئات العشرية هي قوى العشرة وتُستخدم لسعات المحركات وسرعات الشبكات: كيلو $= 10^3$، ميجا $= 10^6$، جيجا $= 10^9$، تيرا $= 10^{12}$.
- بادئات الثنائية هي قوى الاثنين وتُستخدم لأحجام الذاكرة: كيبي (Ki) $= 2^{10} = 1024$، ميبي (Mi) $= 2^{20}$، جيبي (Gi) $= 2^{30}$، تيبى (Ti) $= 2^{40}$.
- لذا فإن قرص "1 TB" يحتوي على $10^{12}$ بايت، لكن نظام تشغيل يعرض النتائج بالـ TiB يقسم على $2^{40}$ ويعرض حوالي 0.91. لم يُفقَد شيء؛ تم استخدام وحدتين مختلفتين.
كم عدد البايتات في 1 كيباي بايت (KiB)؟
الكيلوبايت الثنائي يساوي $2^{10} = 1024$ بايت (سابقة ثنائية، تُستخدم للذاكرة).
محرك يُباع بسعة 1 تيرابايت يحتوي على بايتات أقل من 1 تيرا بايت ثنائي (TiB) من الذاكرة.
1 تيرابايت تعادل 10^12 بايت؛ 1 تيرا بايت ثنائي تعادل 2^40، أي حوالي 1.1 × 10^12. السوابق العشرية للمحركات، والسوابق الثنائية للذاكرة.
أين تُستخدم الست عشرية فعلياً
- عناوين الذاكرة والرموز الآلية، لأن كل رقم ست عشري يمثل نيبلًا واحدًا والبايت يمثل رقمين ست عشريين تمامًا، مما يجعل Dump مقروءًا في نظرة واحدة.
- أكواد الألوان في صفحات الويب:
#FF8800هو بايت واحد لكل من الأحمر والأخضر والأزرق. نفس الشيء للأعناق MAC وأكواد الأخطاء. - السبب دائمًا واحد: الست عشرية هي اختصار للثنائية يستطيع الإنسان قراءته وكتابته دون أخطاء، وليست نظامًا يستخدمه الحاسوب نفسه.
أين يُستخدم النظام الست عشري عملياً؟ حدّد كل ما ينطبق.
الستة عشر اختصار مقروء للبشر للثنائي: رقم واحد لكل نيببل، اثنان لكل بايت. المعالج نفسه يعمل بالنظام الثنائي.
علامات ضائعة
- املأ بالعناصر حتى العرض الذي تعطيك إياه السؤال. الإجابة غير المملوءة تفقد العلامة حتى لو كانت البتات صحيحة.
- جمّع النيبلات من اليمين، وليس من اليسار، وإلا سينزاح كل رقم ست عشري.
- 4 بتات تصل إلى 15، و8 بتات تصل إلى 255، و10 بتات تصل إلى 1023. سؤال "كم عدد البتات" يتعلق بـ النطاق.
- الكيباي بايت يساوي 1024 بايت، والكيلوبايت يساوي 1000. حدد أيهما استخدمت في أي حساب للحجم.
لقد فهمت الأمر
- العشرية القاعدة 10، الثنائية القاعدة 2 (بت، نيبل = 4 بتات، بايت = 8 بتات)، الست عشرية القاعدة 16 حيث الرقم الواحد يمثل نيبلًا واحدًا تمامًا
- من العشري إلى الثنائي بطرح قوى العدد 2 أو بالقسمة المتكررة بقراءة البواقي من الأسفل للأعلى؛ من الثنائي إلى الست عشري بتجميع مجموعات من أربعة بتات بدءاً من اليمين؛ من الست عشري إلى العشري حسب قيمة المكان
- التعبئة لتتسع لعرض المسجل؛ القيمة غير الموقعة تحتاج $n$ بت حيث $2^n$ تتجاوزها لأول مرة
- سوابق العشري هي قوى العشرة (محركات، شبكات)، وسوابق الثنائي هي قوى العدد 2 (ذاكرة): كيباي $= 1024$