العمليات الحسابية الثنائية
| English | العربية |
|---|---|
| register/ˈredʒɪstə/ | مسجل |
| overflow/ˌəʊvəˈfləʊ/ | الانحياز (overflow) |
| two's complement/tuːz ˈkɒmplɪmənt/ | تكميل اثنان |
| logical shift/ˈlɒdʒɪkl ʃɪft/ | إزاحة منطقية |
| most significant bit/məʊst sɪɡˈnɪfɪkənt bɪt/ | أعلى بت أهمية |
إجراء العمليات الحسابية مع 1s و 0s
- الحواسيب تجمع وتزيح وتخزن الأعداد السالبة — جميعها بالثنائية.
- المسجل المكون من 8 بتات له حدود، لذا قد تحدث طفران (overflow).
- المتمم الثاني يسمح لنا بتخزين الأعداد السالبة.
جمع ثنائي وطفران
- اجمع عموداً بعمود بدءاً من اليمين، مع نقل 1: $1+1 = 10$ (اكتب 0، انقل 1).
- مثال:
01110110(118) +00110000(48) =10100110(166). - سجل يتكون من 8 بت يحفظ 0–255. إذا كان الناتج أكبر من 255، فهو يحتاج إلى بت 9 لن يتسع له — وهذا هو الطوفان (overflow)، ويكون الجواب المخزن خاطئاً.

جدول قيم مواضع 8-بت. توضع الأرقام 1 تحت القيم التي مجموعها 150 (128 + 16 + 4 + 2).
العمليات الحسابية الثنائية
byte = مجموع قيم المواقع
شاهد كيف يخزن نمط 8 بت عددًا من 0 إلى 255.
اجمع الأرقام الثنائية 0101 + 0011. أعطِ النتيجة المكونة من 4 بتات.
5 + 3 = 8 = 1000.
حدوث تجاوز السعة في سجل 8 بت يحدث عندما:
سجل 8-بت يحفظ 0–255؛ النتيجة الأكبر تحتاج بتًا ثالثًا 9 لا يتسع، لذا يُفقد.
الإزاحة المنطقية الثنائية
- الإزاحة المنطقية تحرك جميع البتات يميناً أو يساراً؛ البتات الخارجة من النهاية تُفقد وتعبأ الفراغات بـ أصفار.
- الإزاحة لليسار تضرب في 2 لكل مكان؛ الإزاحة لليمين تقسم على 2 لكل مكان.
- مثال:
00110101(53) بعد إزاحة يسرى بمقدار 2 ←11010100(212) = $53 \times 4$.

كل رقمية سداسية عشرية تصبح مجموعتها الخاصة المكونة من 4 بتات (نيبل): F = 1111, 0 = 0000, 8 = 1000.
الإزاحة المنطقية لليسار بمقدار 1 تضرب العدد غير الإشارة في ماذا؟
كل مكان لإزاحة اليسار يضرب في 2 (الإزاحة لليمين تقسم على 2).
00110101 يساوي 53. بعد إزاحة منطقية لليسار بمقدار 2 مكان، ما القيمة العشرية التي يحملها؟
إزاحة اليسار بمقدار 2 = ×4: 53 × 4 = 212 (11010100).
المتمم الثاني (الأعداد السالبة)
- في المتمم الثاني، البت الأعلى أهمية له قيمة سالبة:
-128 64 32 16 8 4 2 1. - MSB 0 → موجب؛ MSB 1 → سالب.
- لجعل الرقم سالباً: اكتب الموجب، قلب كل بت، ثم أضف 1. مثلاً: $+40$ =
00101000← قلب11010111← +1 ←11011000= $-40$. - نطاق المتمم الثاني المكون من 8 بتات: -128 إلى +127.

البت الأعلى أهمية يساوي -128، لذا 11011000 = -128 + 64 + 16 + 8 = -40
ما هي أصغر قيمة سالبة يمكن أن تخزنها عدد ثنائي المتمم 8 بت؟
بت MSB قيمته −128، لذا النطاق هو −128 إلى +127.
لقد فهمت الأمر
- أضف بالثنائيات مع الحمل؛ الطوفان = النتيجة تحتاج بت 9 لا يستطيع سجل 8-بت استيعابه (0–255)
- إزاحة منطقية: يسار = ×2، يمين = ÷2 لكل مكان؛ البتات الخارجة تُفقد
- المتمم الثاني: البت الأعلى يساوي -128؛ قلب البتات وأضف 1 للنفي؛ النطاق -128 إلى +127