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

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

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

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

شار كفار = 50؛
شار كفار = 50؛
سفار قصير = 50؛
إنت إيفار = 50؛
lvar1 طويلة = 50؛
lvar2 طويلة = 50؛

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

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

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

تعبير ما يعادل مكافئ أيضًا لـ
cvar += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;

احذر من المتغير ++ مقابل المتغير ++!

++متغير

int x = 10, y = 20; 
X = ++y;

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

متغير++

int x = 10, y = 20; 
X = y++;

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


مقارنة نوع البيانات الصحيحة

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

نوع البيانات أصغر قيمة أكبر قيمة
شخصية -2 7 أو -128 2 7 - 1 أو 127
قصير -2 15 أو -32,768 2 15 - 1 أو 32,767
عدد صحيح -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 أو
عدد صحيح غير موقع 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(). جرب هذا للتحقق منها بنفسك. إذا قمت بالتغيير إلى وحدة تحكم أخرى، فيمكنك دائمًا القيام بما يلي للتحقق.

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, "long long has %d bytes", sizeof(long long));
Brain.Screen.printAt(1, 170, "float has %d bytes", sizeof(float));
Brain.Screen.printAt(1, 200, "double has %d bytes", sizeof(double));

النص المطبوع على شاشة V5 Brain:

char له بايت واحد
short له بايتان
int له 4 بايتات
long له 4 بايتات
، long long له 8 بايتات
، float له 4 بايتات
double له 8 بايتات

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

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

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

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

رسم تخطيطي يوضح نوع البيانات unsigned char مع 8 بتات مُرقمة من 7 إلى 0 والقيم المقابلة من 128 إلى 1، مع أمثلة لحساب القيم 136 و255.

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

رسم تخطيطي يوضح نوع بيانات char مع 7 بتات قيمة وبت إشارة محجوز واحد، بما في ذلك أمثلة لحساب القيم -120 و 127.

يحتفظ النظام بالبت الأعلى ترتيبًا من أجل إعطاء قيمة سالبة. وبالتالي، تتراوح القيمة القصوى لـ "char" من -128 إلى 127. ومع ذلك، فإن السعة لا تزال هي نفسها مثل "unsigned 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, "التمثيل العددي للعدد '%c' =  %d",iX, iX);
  Brain.Screen.printAt(3, 50, "التمثيل العددي للعدد '%c' =  %d",cX1, cX1);
  Brain.Screen.printAt(3, 80, "التمثيل العددي للعدد '%c' =  %d",cX2, cX2);
  Brain.Screen.printAt(3, 140, "إذن '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

انتاج:

التمثيل العددي للرقم '0' هو 48
والتمثيل العددي للرقم '1' هو 49
والتمثيل العددي للرقم '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

Last Updated: