ICT Secondary 1 Term 1, Chapter 6, Lessons 6-5 to 6-10: pp. 74–95
الهدفأجمع الأعداد الثنائية مع الحمل، وأزيح البتات، وأكتب العدد السالب بمتمم الاثنين.
كلمات جديدة
الحمل (carry) · الرقم 1 الذي ينتقل إلى المنزلة التالية حين يبلغ مجموع المنزلة ٢ أو أكثرالإزاحة (shift) · تحريك كل البتات منزلة واحدة إلى اليسار أو اليمينمتمم الاثنين (two’s complement) · قلب كل البتات ثم إضافة 1: طريقة كتابة العدد السالبالفيض (overflow) · ناتج يحتاج إلى بتات أكثر من المتاحة
الشرح
الجمع الثنائي يشبه الجمع العشري، عمودًا بعد عمود ومن اليمين. القواعد: 0 + 0 = 0 و0 + 1 = 1 و1 + 1 = 10 (نكتب ٠ ونحمل ١). وإذا كان في العمود حمل أيضًا فإن 1 + 1 + 1 = 11 (نكتب ١ ونحمل ١). وإزاحة كل البتات منزلة إلى اليسار تضاعف العدد: 0000 0101 (٥) تصبح 0000 1010 (١٠). والإزاحة إلى اليمين تنصّفه مع إسقاط البت الأخير: 0000 0111 (٧) تصبح 0000 0011 (٣). ولكتابة عدد سالب في ٨ بتات نوجد متمم الواحد (قلب كل البتات) ثم نضيف ١؛ وهذا متمم الاثنين. فللعدد −٥: العدد 0000 0101 ينقلب إلى 1111 1010 ثم نضيف ١ فنحصل على 1111 1011. وللتحقق نجمع العدد وسالبه: 0000 0101 + 1111 1011 = 1 0000 0000، والبت التاسع لا يتسع له ٨ بتات فتكون النتيجة 0000 0000. وبهذه الطريقة يمكن في ٨ بتات كتابة الأعداد من −١٢٨ إلى +١٢٧. ويحدث الفيض حين يحتاج الناتج إلى بتات أكثر من المتاحة: ففي ٤ بتات 1011 + 0110 = 10001 لكن لا يتسع إلا 0001. والفكرة نفسها تعمل في العشري: بمنزلة واحدة يكون متمم العشرة للعدد ٣ هو ١٠ − ٣ = ٧، والمجموع ٣ + ٧ = ١٠ يسقط حمله.
جمع ٠١١٠ ١٠١١ (١٠٧) و٠٠١٠ ٠١١٠ (٣٨)
البتات من اليسار إلى اليمين
الحمل إلى العمود
1 1 0 1 1 1 0 0
العدد الأول
0 1 1 0 1 0 1 1
العدد الثاني
0 0 1 0 0 1 1 0
المجموع
1 0 0 1 0 0 0 1
أمثلة محلولة
خطوة العمود
٤ بتات
العدد الأول
1 0 1 1
العدد الثاني
0 1 1 0
المجموع الحقيقي (٥ بتات)
1 0 0 0 1
ما تحتفظ به ٤ بتات
0 0 0 1
المجموع 1001 0001 يساوي ١٢٨ + ١٦ + ١ = ١٤٥، و١٠٧ + ٣٨ = ١٤٥، فالجمع صحيح. والآن الفيض: في سجل من ٤ بتات، 1011 (١١) + 0110 (٦) = ١٧، وهذا يحتاج إلى ٥ بتات (10001). يحتفظ السجل بـ 0001 فقط، فيكون الجواب خاطئًا. والعلاج بتات أكثر.
الخطوة
البتات
٥
0000 0101
نقلب كل بت
1111 1010
نضيف ١: هذا هو −٥
1111 1011
تحقق: ٥ + (−٥)، ٨ بتات
0000 0000
متمم الاثنين للعدد ٥ في ٨ بتات خطوة بخطوة مع التحقق.
نشاط الفصل
اكتب ٧ في ٨ بتات. أوجد متمم الاثنين لها لتحصل على −٧، وتحقق من أن ٧ + (−٧) يعطي 0000 0000 في ٨ بتات. ثم أزح ٧ منزلة إلى اليسار وقل أي عدد تحصل عليه.