This post is also available in: English (الإنجليزية) हिन्दी (الهندية)
في علوم الكمبيوتر ، تعد أنواع البيانات أو الكتابةفقط تصنيفًا يميز البيانات إلى عدد صحيح أو عدد صحيح أو منطقي.
تتضمن جميع لغات البرمجة تقريبًا بشكل صريح مفهوم نوع البيانات ، على الرغم من أن اللغات المختلفة قد تستخدم مصطلحات مختلفة. قد تتضمن أنواع البيانات الشائعة الأعداد الصحيحة ، والمنطقية ، والأحرف ، وأرقام الفاصلة العائمة ، والسلاسل الأبجدية الرقمية.
ما هو نوع البيانات؟
نوع البيانات هو سمة مرتبطة بجزء من البيانات يخبر نظام الكمبيوتر بكيفية تفسير قيمته. يضمن فهم أنواع البيانات أن البيانات يتم جمعها بالتنسيق المفضل وأن تكون قيمة كل خاصية كما هو متوقع.

تذكر أنه لا يجب الخلط بين أنواع البيانات وبين نوعي البيانات معًا يشار إليهما ببيانات العميل – بيانات الكيان وبيانات الأحداث.
مطلوب فهم جيد لأنواع البيانات لتحديد خصائص الحدث وخصائص الكيان بشكل صحيح. يجب أن تحتوي خطة التتبع المحددة جيدًا على نوع البيانات لكل عقار لضمان دقة البيانات ومنع فقدان البيانات.
قبل الانتقال إلى أهمية أنواع البيانات ، دعنا نلقي نظرة على بعض أنواع البيانات الشائعة.
أنواع البيانات الشائعة
- عدد صحيح (int): هو أكثر أنواع البيانات الرقمية شيوعًا المستخدمة لتخزين الأرقام بدون مكون كسري (-707 ، 0 ، 707).
- أرقام الفاصلة العائمة (عائمة): إنها أيضًا نوع بيانات رقمي يُستخدم لتخزين الأرقام التي قد تحتوي على مكون كسري مثل القيم النقدية (707.07 ، 0.7 ، 707.00). تذكر ذلك غالبًا ما يستخدم numberكنوع بيانات يتضمن كلا النوعين intو float.
- حرف (char): يتم استخدامه لتخزين حرف واحد أو رقم أو علامة ترقيم أو رمز أو مسافة فارغة.
- String: هي سلسلة من الأحرف ونوع البيانات الأكثر استخدامًا لتخزين النص. بالإضافة إلى ذلك ، يمكن أن تتضمن السلسلة أيضًا أرقامًا ورموزًا ، ومع ذلك ، يتم التعامل معها دائمًا كنص. عادةً ما يتم تخزين رقم الهاتف String(1-999-666-3333) ولكن يمكن أيضًا تخزينه كعدد integer(9996663333).
- قيمة منطقية: تمثل القيم الحقيقيةوالخطأ. عند العمل باستخدام نوع البيانات المنطقية، من المفيد أن تضع في اعتبارك أنه في بعض الأحيان يتم تمثيل القيمة المنطقية أيضًا على أنها 0 (للخطأ) و 1 (للصواب).
- النوع المُعدَّد (enum): يحتوي على مجموعة صغيرة من القيم الفريدة المحددة مسبقًا (تُعرف أيضًا بالعناصر أو العدادات) التي يمكن مقارنتها وتعيينها إلى متغير من نوع البيانات التي تم تعدادها. يمكن أن تكون قيم النوع الذي تم تعداده قائمة على النص أو العدد. في الواقع ، نوع البيانات المنطقيةهو تعداد محدد مسبقًا للقيم صوابوخطأ. على سبيل المثال ، إذا صخرةو الجازهم العدادين ، متغير نوع معدود النوعيمكن تعيين أي من القيمتين، لكن ليس كلاهما. بافتراض أنه سيُطلب منك ملء تفضيلاتك في تطبيق الموسيقى ويطلب منك الاختيار أحد هذين النوعين عبر القائمة المنسدلة ، المتغير النوعسيخزن أيضًا صخرةأو موسيقى الجاز. باستخدام النوع الذي تم تعداده ، يمكن تخزين القيم واستردادها كمؤشرات رقمية (0 ، 1 ، 2) أو سلاسل.
- المصفوفة: تُعرف أيضًا بالقائمة ، المصفوفة هي نوع بيانات يخزن عددًا منها بترتيب معين ، وعادةً ما تكون جميعها من نفس الأنواع. نظرًا لأن المصفوفة تخزن عناصر أو قيمًا متعددة ، يُشار إلى بنية البيانات المخزنة بواسطة المصفوفة باسم بنية بيانات الصفيف. يمكن استرجاع كل عنصر من عناصر المصفوفة باستخدام فهرس عدد صحيح (0 ، 1 ، 2 ، …) ، ويمثل العدد الإجمالي للعناصر في المصفوفة طول المصفوفة. على سبيل المثال ، يمكن لنوع متغير مصفوفةتخزين عنصر واحد أو أكثر من العناصر موسيقى الروكوالجاز والأزرق. مؤشرات القيم الثلاث هي 0 (روك) و 1 (جاز) و 2 (بلوز) وطول المصفوفة هو 3 (لأنها تحتوي على ثلاثة عناصر). بالاستمرار في مثال تطبيق الموسيقى ، إذا طُلب منك اختيار نوع واحد أو أكثر من الأنواع الثلاثة وحدث أنك تحب الثلاثة (هتافات لذلك) ، فإن النوعالمتغير سيخزن العناصر الثلاثة (موسيقى الروك والجاز والبلوز) .
- التاريخ: لا يحتاج إلى تفسير ؛ عادةً ما يخزن التاريخ بتنسيق YYYY-MM-DD (بناء جملة ISO 8601).
- الوقت: يخزن الوقت بتنسيق hh: mm: ss. إلى جانب الوقت من اليوم ، يمكن استخدامه أيضًا لتخزين الوقت المنقضي أو الفاصل الزمني بين حدثين يمكن أن يكون أكثر من 24 ساعة. على سبيل المثال ، يمكن أن يكون الوقت المنقضي منذ وقوع الحدث 72 ساعة (72:00:59).
- Datetime: يخزن قيمة تحتوي على كل من التاريخ والوقت معًا بتنسيقYYYY-MM-DD hh: mm: ss.
- الطابع الزمني: عادةً ما يتم تمثيله في وقت Unix ، يمثل الطابع الزمني عدد الثواني التي انقضت منذ منتصف الليل (00:00:00 UTC) ، الأول من يناير 1970. يتم استخدامه عادةً بواسطة أنظمة الكمبيوتر لتسجيل التاريخ والوقت الدقيقين لحدث ما ، وصولاً إلى عدد الثواني ، بتنسيق لا يتأثر بالمناطق الزمنية. لذلك ، على عكس التاريخ والوقت ، يظل الطابع الزمني كما هو بغض النظر عن موقعك الجغرافي.
أنواع أنواع البيانات
بالمعنى الواسع ، هناك ثلاثة أنواع من أنواع البيانات –
- أنواع البيانات الأساسية – هذه هي أنواع البيانات المحددة مسبقًا التي يستخدمها المبرمج مباشرةً لتخزين قيمة واحدة فقط حسب المتطلبات ، أي نوع العدد الصحيح أو نوع الحرف أو النوع العائم. على سبيل المثال – int ، char ، float ، إلخ.
- أنواع البيانات المشتقة – يتم اشتقاق أنواع البيانات هذه باستخدام أنواع البيانات المضمنة التي صممها المبرمج لتخزين قيم متعددة من نفس النوع وفقًا لمتطلباتهم. على سبيل المثال – صفيف ، مؤشر ، وظيفة ، قائمة ، إلخ.
- أنواع البيانات المعرفة من قبل المستخدم – يتم اشتقاق أنواع البيانات هذه باستخدام أنواع البيانات المضمنة التي يتم تغليفها في نوع بيانات واحد لتخزين قيم متعددة من نفس النوع أو من نوع مختلف أو كليهما وفقًا للمتطلبات. على سبيل المثال – الفئة ، الهيكل ، إلخ.
أنواع البيانات التي يدعمها ++C
يسرد الجدول التالي أنواع البيانات التي يدعمها ++C
Data Type | Size | نطاق |
char | 1 byte | -128 to 127 or 0 to 255 |
unsigned char | 1 byte | 0 to 255 |
signed char | 1 byte | -128 to 127 |
int | 4 bytes | -2147483648 to 2147483647 |
unsigned int | 4 bytes | 0 to 4294967295 |
signed int | 4 bytes | -2147483648 to 2147483647 |
short int | 2 bytes | -32768 to 32767 |
unsigned short int | 2 bytes | 0 to 65,535 |
signed short int | 2 bytes | -32768 to 32767 |
long int | 4 bytes | -2,147,483,648 to 2,147,483,647 |
signed long int | 4 bytes | -2,147,483,648 to 2,147,483,647 |
unsigned long int | 4 bytes | 0 to 4,294,967,295 |
float | 4 bytes | +/- 3.4e +/- 38 (~7 digits) |
double | 8 bytes | +/- 1.7e +/- 308 (~15 digits) |
long double | 8 bytes | +/- 1.7e +/- 308 (~15 digits) |
أنواع البيانات التي تدعمها Java
أنواع البيانات التالية مدعومة بواسطة Java –
Data Type | Size | نطاق |
byte | 1 byte | -128 to 127 |
char | 2 byte | 0 to 65,536 |
short | 2 byte | -32,7688 to 32,767 |
int | 4 byte | -2,147,483,648 to 2,147,483,647 |
long | 8 byte | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float | 4 byte | -2147483648 to 2147483647 |
double | 8 byte | +9.223*1018 |
Boolean | 1 bit | True or False |