الإشارة
في مجال الحوسبة، تُعدّ خاصية الإشارة من خصائص أنواع البيانات التي تُمثّل الأرقام في برامج الحاسوب. يكون المتغير العددي مُوقّعًا إذا كان بإمكانه تمثيل كلٍّ من الأعداد الموجبة والسالبة ، وغير مُوقّع إذا كان بإمكانه تمثيل الأعداد غير السالبة فقط (الصفر أو الأعداد الموجبة).
بما أن الأرقام الموقعة يمكنها تمثيل الأرقام السالبة، فإنها تفقد نطاقًا من الأرقام الموجبة التي لا يمكن تمثيلها إلا بأرقام غير موقعة من نفس الحجم (بالبتات) لأن ما يقرب من نصف القيم الممكنة هي قيم غير موجبة، في حين أن النوع غير الموقع المقابل يمكنه تخصيص جميع القيم الممكنة لنطاق الأرقام الموجبة.
على سبيل المثال، يمكن لعدد صحيح ذي 16 بت مُوَقَّع بنظام المتمم الثنائي أن يحمل القيم من -32768 إلى 32767 شاملةً، بينما يمكن لعدد صحيح ذي 16 بت غير مُوَقَّع أن يحمل القيم من 0 إلى 65535. في هذه الطريقة لتمثيل الإشارة ، يُشير البت الأيسر ( البت الأكثر أهمية ) إلى ما إذا كانت القيمة سالبة (0 للموجبة أو الصفر، و1 للسالبة).
في لغات البرمجة
في معظم البنى، لا يوجد تمييز بين أنواع البيانات المُوقّعة وغير المُوقّعة في لغة الآلة . ومع ذلك، عادةً ما تُعيّن تعليمات العمليات الحسابية علامات مختلفة لوحدة المعالجة المركزية ، مثل علامة الحمل للعمليات الحسابية غير المُوقّعة وعلامة تجاوز السعة للعمليات الحسابية المُوقّعة. ويمكن أخذ هذه القيم في الاعتبار بواسطة أوامر التفرع أو العمليات الحسابية اللاحقة.
تُطبّق لغة البرمجة C ، بالإضافة إلى مشتقاتها (باستثناء Java التي تفتقر إلى أنواع البيانات غير الموقعة)، خاصية الإشارة لجميع أنواع البيانات العددية الصحيحة ، وكذلك للأحرف . بالنسبة للأعداد الصحيحة، unsignedيُحدد المُعدِّل `unsigned` نوع البيانات ليكون غير مُوقَّع. الإشارة الافتراضية للأعداد الصحيحة خارج حقول البت هي إشارة، ولكن يمكن تحديدها صراحةً باستخدام signedالمُعدِّل `unsigned`. في المقابل، يُعلن معيار C أن signed char`unsigned` unsigned charو`character` و` charcharacter` هي ثلاثة أنواع بيانات مُختلفة، ولكنه يُحدد أن جميعها يجب أن يكون لها نفس الحجم والمحاذاة. علاوة على ذلك، charيجب أن يكون لـ `unsigned` نفس النطاق العددي لـ `unsigned` signed charأو `character` unsigned char، ولكن اختيار النطاق يعتمد على النظام الأساسي. يمكن جعل القيم العددية الصحيحة غير مُوقَّعة باستخدام اللاحقة `U` .
غالباً ما تُصدر المترجمات تحذيراً عند إجراء مقارنات بين الأعداد الموقعة وغير الموقعة، أو عند تحويل أحدهما إلى الآخر. تُعدّ هذه العمليات خطيرةً نظراً لاختلاف نطاقات أنواع البيانات الموقعة وغير الموقعة.
| أجزاء | مين | الأعلى |
|---|---|---|
| 8 (موقع) | -128 | 127 |
| 16 (موقع) | -32 768 | 32767 |
| 32 (موقع) | -2 147 483 648 | 2 147 483 647 |
| 64 (موقع) | -9 223 372 036 854 775 808 | 9 223 372 036 854 775 807 |
| 128 (موقع) | -170 141 183 460 469 231 731 687 303 715 884 105 728 | 170 141 183 460 469 231 731 687 303 715 884 105 727 |
| 8 (بدون توقيع) | 0 | 255 |
| 16 (بدون توقيع) | 0 | 65 535 |
| 32 (بدون توقيع) | 0 | 4 294 967 295 |
| 64 (بدون توقيع) | 0 | 18 446 744 073 709 551 615 |
| 128 (بدون توقيع) | 0 | 340 282 366 920 938 463 463 374 607 431 768 211 455 |
انظر أيضاً
- بت الإشارة
- تمثيلات الأعداد الموقعة
- الإشارة (الرياضيات)
- نظام القياس الزاوي الثنائي ، مثال على الدلالات التي لا يهم فيها الإشارة.
روابط خارجية
- "نظرة عامة على الأنواع الرقمية" . دليل مرجعي لـ MySQL 5.0 . mysql.com. 2011. تم الاطلاع عليه بتاريخ 6 يناير 2012 .
- "فهم قواعد تحويل الأعداد الصحيحة" ، معيار ترميز CERT C ، فريق الاستجابة للطوارئ الحاسوبية ، تم الاطلاع عليه في 31 ديسمبر 2015
- الحساب الحاسوبي
- أنواع البيانات
- الإشارة (الرياضيات)
