سؤال

كنت أقرأ بعضًا من التعليمي التجريبي الذي تم شرحه فيه الأعداد الصحيحة الموقعة والأعداد الصحيحة غير الموقعة والفرق بين تمثيلها في ذاكرة الكمبيوتر.

أتذكر شيئًا كهذا كان هناك بعض الشيء في البداية على الرقم ، لذا فإنه يخبر ما إذا كان عدد صحيح غير موقّع أو موقّع.

إذا كان شخص ما يعرف ذلك ، يرجى الإجابة.

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

المحلول

صفحة ويكيبيديا على تمثيل رقم موقّع يوضح تطبيقات الذاكرة الأكثر شيوعًا لكل من قيم عدد صحيح موقّع وغير موقّع.

متمم ثنائي هو التمثيل الأكثر شيوعا.

نصائح أخرى

هناك العديد من العروض المحتملة للأرقام الموقعة ، والأكثر شيوعًا متمم ثنائي.

لا يحدد MSB ما إذا كان الرقم قد تم توقيعه ؛ في الأرقام الموقعة ، يمثل ما إذا كان الرقم سلبيًا. في الأرقام غير الموقعة ، إنها مجرد MSB. إنه البرنامج الذي يحدد ما إذا كان يتم اعتبار الرقم موقّعًا أو غير موقّع.

هو. سؤال مخادع. يتم تمثيل الأعداد الصحيحة الموقعة وغير الموقعة نفسها تمامًا. بالنظر إلى الذاكرة ، فلن تتمكن أبدًا من التمييز بينها. يخرج من أحد مبدأ فون نيومان. فأين الفرق؟ الفرق في الطريقة التي يتم تفسيرها. إذا تم توقيع المتغير برنامج التحويل البرمجي يستخدم أوامر لـ ints الموقعة. وأيضًا إذا علمنا أن الرقم قد تم توقيعه ، فسيخبرنا أول بت أنه علامة. يتم التحويل كما ~i + 1 (بناء الجملة) في كلا الاتجاهين

هناك العديد من العروض المحتملة ، كل واحد اعتمادًا على منظمة الكمبيوتر. الأكثر شهرة

في كلا التمثيلين ، يمكنك اختبار البت الأول (الأكثر أهمية) لمعرفة ما إذا كان الرقم إيجابيًا (عادةً ما يكون) أو سلبيًا (بت). هذا هو ، إذا تعاملت الرقم كـ وقعت. إذا أخبرت المترجم بمعالجة هذه الأرقام غير موقعة ، يتم استخدام بت الإشارة كبيانات (والتي تضاعف الحد الأقصى نطاق، مجموعة لنوع البيانات).

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