سؤال

هل من الممكن إضافة رقمين موقّعين 8 بت معًا وتعيين كل من أجزاء الحمل والتفوق؟

هل كانت مفيدة؟

المحلول

وفقًا لتعليقاتك ، يبدو أن سؤالك هو "هل من الممكن أن يكون لديك كل من الحمل والتفوق على إضافة مكمّل من اثنين يتضمن رقمًا موقّعًا؟" أنه. يتمثل التنفيذ النموذجي في أخذ الحصرية أو الحمل للأشعة الأخيرة مع الانتقال في نهاية السلسلة-وبالتالي ، فإن الإضافة المفرطة للأرقام السلبية ستؤدي إلى ضبط بت النقل وتخطيت الفائض ليتم تعيينها.

إليك مثال ، إضافة -1 إلى -128:

Carry 10000 0000 
       1000 0000  (-128)
       1111 1111  (-1)
       ---------
       0111 1111 (oops, this is 127!)

سيتم تعيين Carry ، نظرًا لأن الإضافة الأخيرة أدت إلى وجود حمل -وسيتم ضبط التدفق الفائض بناءً على القاعدة أعلاه (أيضًا ، لاحظ أن -128 تمت إضافتها إلى -1 من الواضح أنها ليست 127)

نصائح أخرى

ليس لديك إمكانية الوصول إلى الأعلام في C ، حتى لو تمكنت من الحصول على المترجم لإنشاء التعليمات البرمجية التي تضعها ، ليس لديك طريقة لاستخدامها.

يمكنك كتابة روتين إضافي الخاص بك في C والذي سيعود علامات الحمل والتفوق على المعاملات الموقعة 8 بت. إذا كنت تشير إلى أجهزة حمل وتغلب على البتات داخل المعالج ، لا ، لا يمكن القيام بذلك بشكل مقلوب في C.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top