الفرق بين توقيع وغير الموقعة



وقعت ضد غير الموقعة

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

وكان الدافع لخلق أعداد الموقعة وغير الموقعة من قبل الحاجة لتمثيل القيم الرقمية مع موارد محدودة للغاية. على سبيل المثال، وذلك باستخدام 8 بت، لديك فقط ما مجموعه 256 مجموعات. مع وجود عدد غير موقعة، وهذا يعني أي قيمة بين 0 و 255. وفي المقابل، وجود عدد قعت يعني أنك تخسر بالفعل قليلا لتمثيل علامة. مع 7 بت لديك بحد أقصى 128 مجموعات ذلك النطاق الخاص بك مع عدد قعت 8 بت من -128 إلى 127. حتى إذا كان لديك موارد محدودة، كما هو الحال في الأيام الأولى من الحوسبة، وذلك باستخدام أرقام غير موقعة كان وسيلة للذهاب.

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



كما التكنولوجيا المتقدمة، وأصبحت أكثر وفرة الموارد، واستخدام الأرقام غير موقعة أصبحت أقل وأقل ضرورة. لتوضيح ذلك، نضع في اعتبارنا أن عددا طويلة 32 بت يمكن أن يكون الحد الأقصى لقيمة موقعة من 2000000 أو 4000000 إذا كان 'الصورة غير موقعة عند نقل إلى 64 بت، والفرق هو بين 90 و 180 كوينتيليون؛ القيم نادرا ما تستخدم على كل حال في البرامج المشتركة.

ملخص:

1. عدد غير الموقعة تشمل فقط الصفر وإيجابية أرقام في حين تشمل الأرقام وقعت الأرقام السالبة.
2. الأرقام توقيع لديها نصف الحد الأقصى لقيمة الأرقام غير موقعة.
3. الخلط وقعت، ويمكن أن الأرقام غير موقعة يؤدي إلى مشاكل.