إنشاء متغيرات للأعداد الصحيحة في VEXcode Pro V5

الأنواع التي تحتوي على أعداد صحيحة: char ، short ، int ، long ، long long

دعونا نلقي نظرة على بعض الأمثلة:

char cvar = 50 ؛
char cvar = 50؛
قصير svar = 50؛
int ivar = 50؛
lvar1 = 50؛
lvar2 = 50؛

العوامل الحسابية الأساسية:

معظمهم على دراية بالعوامل الحسابية الأساسية وترتيب الأسبقية: + ، - ، * ، /

فيما يلي بعض الأمثلة عن كيفية استخدام عامل التشغيل Unary: ++ و -:

تعبير أي ما يعادل يعادل أيضًا
cvar + = 5 ؛ cvar = cvar + 5 ؛  
++ cvar ؛ cvar ++ ؛ cvar = cvar + 1 ؛
--cvar. cvar-- ؛ cvar = cvar - 1 ؛
احذر من المتغير ++ مقابل ++ المتغير!

++ متغير

كثافة العمليات س = 10 ، ص = 20 ؛ 
X = ++ y؛

ملاحظة: بعد هذه العملية: X = 21 ، و Y أيضًا = 21.

متغير ++

كثافة العمليات س = 10 ، ص = 20 ؛ 
X = y ++؛

ملاحظة: بعد هذه العملية: X = 20 ، و Y = 21.


قارن نوع بيانات عدد صحيح

هناك مجموعة أو نوع بيانات يسمح بالقيمة الموجبة والسالبة - "موقعة". ومع ذلك ، لا تحتاج إلى تحديد ذلك لأنه ضمني. انظر أدناه:

نوع البيانات أصغر قيمة أكبر قيمة
شار -2 7 أو -128 2 7 - 1 أو 127
قصيرة -2 15 أو -32768 2 15 - 1 أو 32767
int -2 31 أو -2،147،483،648 2 31 - 1 أو 2،147،483،647
طويل -2 31 أو -2،147،483،648 2 31 - 1 أو 2،147،483،647
طويل طويل -2 63 أو -9،223،372،036،854،775،808 2 63 - 1 أو 9،223،372،036،854،775،807

هناك مجموعة أو نوع بيانات يسمح فقط بقيمة موجبة - "غير موقعة".

نوع البيانات أصغر قيمة أكبر قيمة
حرف غير موقّع 0 2 8 - 1 أو 255
قصيرة بدون توقيع 0 2 16 - 1 أو 65،535
عدد صحيح غير موقعة 0 2 32 - 1 أو 4،294،967،295
طويل بدون توقيع 0 2 32 - 1 أو 4،294،967،295
طويل بدون توقيع 0 2 64 - 1 أو 18،446،744،073،709،551،615

كيف تتحقق من حجم البيانات؟

في الوقت الحالي ، يجب أن تعرف عامل التشغيل sizeof () عامل التشغيل. يوفر هذا وحدة تخزين الذاكرة المسماة "بايت" - والتي سيتم تغطيتها قليلاً في القسم التالي.

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

Brain.Screen.setFont (fontType :: mono30) ،    
Brain.Screen.printAt (1، 20، "char has %d bytes"، sizeof (char))؛
Brain.Screen.printAt (1، 50، "short has %d bytes"، sizeof (short))؛ 
Brain.Screen.printAt (1، 80، "int has %d bytes"، sizeof (int))؛
Brain.Screen.printAt (1، 110، "long has %d bytes"، sizeof (long))؛
Brain.Screen.printAt (1 ، 140 ، "طويلة بها %d بايت" ، sizeof (طويلة)) ؛
Brain.Screen.printAt (1 ، 170 ، "عدد الصفحات %d بايت" ، sizeof (float)) ؛
Brain.Screen.printAt (1، 200، "double has %d bytes"، sizeof (double))؛

vartypes.png


ماذا يعني البايت؟

"بايت" وحدة قياسية لتخزين البيانات.

بايت واحد = 8 بت. البتة الواحدة هي أصغر وحدة ذاكرة يمكن أن تحتوي فقط على قيم 1 و 0 (قيمة ثنائية). لكن أصغر وحدة ذاكرة يمكنك الحصول عليها من النظام هي 1 بايت ؛ لذلك لا يمكنك طلب 1.5 بايت ، إلخ.

دعونا نلقي نظرة على شار. إنه قصير بما يكفي لعرضه بسهولة.

usignedchar.jpg

إذا كانت كلها مليئة بالآحاد ، فستحصل على 28-1. يجب أن تكون هذه القيمة هي الحد الأقصى لقيمة "الأحرف غير الموقعة" التي يجب الاحتفاظ بها.

charvalues.jpg

يحتفظ النظام بـ بت أعلى ترتيب لإعطاء قيمة سالبة. وبالتالي ، فإن القيمة القصوى لـ "char" تتراوح من -128 إلى 127. ومع ذلك ، لا تزال السعة هي نفسها "char غير الموقعة" على الرغم من الاختلاف في نطاق البيانات.

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


ما هو الفرق بين char و int؟

فيما يلي بعض الاستخدامات الشائعة لكل من "char" و "int":

char var1 = "9" ؛ 
int var2 = 9؛

من المفاهيم الخاطئة الشائعة أن "char" يمكن أن تحتوي فقط على رموز مثل "a" أو "b" أو "9." هذا غير صحيح.

في الواقع ، نوع "char" هو نفس النوع "int" ، فيما عدا أن سعة char هي 1 بايت فقط ، وسعة int هي 4 بايت. وبالتالي ، يختلف نطاق حجم البيانات بين الاثنين. يمكنك أن ترى ذلك في جدول نطاق البيانات أعلاه.

ستمنحك مقاطع التعليمات البرمجية التالية عرضًا أوضح لـ char و int.

int iX = '0' ؛
  char cX1 = 49؛
  char cX2 = 50؛ 

  Brain.Screen.printAt (3، 20، "تمثيل int '%c' =  %d"، iX ، iX) ؛
  Brain.Screen.printAt (3، 50، "تمثيل int لـ '%c' =  %d"، cX1 ، cX1) ؛
  Brain.Screen.printAt (3، 80، "تمثيل int '%c' =  %d"، cX2 ، cX2) ؛
  Brain.Screen.printAt (3، 140، "So '%c' - '%c'=  %d "، cX2 ، iX ، cX2 - cX1) ؛

انتاج:

تمثيل int لـ '0' = 48
تمثيل '1' = 49
int تمثيل '2' = 50

لذا '2' - '0' = 1

قد تتساءل: لماذا "0" يظهر 48؟

سيؤدي ذلك إلى مواضيع تسمى تحويل "كود ASCII". معيار ASCII هو أحد معالم IEEE الرائعة التي تم نشرها في عام 1963. هذا خارج نطاق هذه المقالة. نشجعك على البحث عن جدول رموز ASCII عبر الإنترنت. ستجد عددًا كبيرًا من المعلومات عبر الإنترنت حول جدول رموز ASCII.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus