أنواع البيانات الأولية

Question book-new.svg
المحتوى هنا ينقصه الاستشهاد بمصادر. يرجى إيراد مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (ديسمبر 2018)

أنواع البيانات البدائية هي عادة أنواع مضمنة أو أساسية لتنفيذ اللغة.

أنواع بيانات الماكينة يتم تمثيل جميع البيانات في أجهزة الكمبيوتر المستندة إلى الإلكترونيات الرقمية على هيئة بتات (البدائل 0 و 1) على أدنى مستوى. عادة ما تكون أصغر وحدة بيانات قابلة للعنونة عبارة عن مجموعة من البتات تسمى البايت (عادة ما تكون ثمانية بتات ، وهي 8 بتات). تسمى الوحدة التي تتم معالجتها بتعليمات رمز الجهاز كلمة (اعتبارًا من عام 2011 ، عادةً ما تكون 32 أو 64 بت). تفسر معظم التعليمات الكلمة كرقم ثنائي ، بحيث يمكن أن تمثل كلمة 32 بت قيمًا عددًا صحيحًا غير موقعة من 0 إلى {\ displaystyle 2 ^ {32} -1} 2 ^ قالب:32 - 1 أو قيم عدد صحيح موقعة من {\ displaystyle -2 ^ {31}} -2 ^ قالب:31 إلى {\ displaystyle 2 ^ {31} -1} 2 ^ قالب:31 - 1. بسبب مكملتين ، لا تحتاج لغة الماكينة والآلة إلى التمييز بين هذه الأنواع من البيانات الموقعة وغير الموقعة في معظم الأحيان.

تستخدم أرقام النقطة العائمة المستخدمة في حساب النقطة العائمة تفسيرًا مختلفًا للبتات في كلمة واحدة. انظر: Floating-point arithmetic للحصول على التفاصيل.

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

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

اكتب منطقي يمثل النوع المنطقي القيم true و false. على الرغم من أن قيمتين فقط هما ممكنتان ، إلا أنهما نادراً ما يتم تنفيذهما كرقم ثنائي واحد لأسباب تتعلق بالكفاءة. لا تحتوي العديد من لغات البرمجة على نوع Boolean صريح ، بدلاً من تفسير (على سبيل المثال) 0 كقيم خاطئة وقيم أخرى كحقيقة. تشير البيانات المنطقية ببساطة إلى البنية المنطقية لكيفية تفسير اللغة إلى لغة الآلة. في هذه الحالة ، يشير المنطقي 0 إلى المنطق False. صحيح هو دائما غير الصفر ، لا سيما تلك التي تعرف باسم Boolean 1.

أنواع رقمية مثل:

أنواع البيانات الصحيحة ، أو "أرقام غير كسرية". قد يتم كتابتها بشكل جزئي وفقًا لقدرتها على احتواء القيم السالبة (على سبيل المثال ، غير الموقعة في C و C ++). قد يحتوي أيضًا على عدد صغير من الأنواع الفرعية المحددة مسبقًا (مثل القصيرة والطويلة في C / C ++) ؛ أو السماح للمستخدمين بتعريف الفروق بحرية مثل 1..12 (على سبيل المثال ، باسكال / آدا). أنواع بيانات النقطة العائمة ، عادة ما تمثل قيمًا كقيم كسرية عالية الدقة (الأرقام المنطقية ، رياضياً) ، ولكنها أحيانًا ما تُدعى مضللة حقيقة (استحضار للأرقام الحقيقية الرياضية). لديهم عادة حدود محددة مسبقا على حد سواء قيمها القصوى ودقتها. غالبًا ما يتم تمثيل ناتج هذه القيم بتنسيق الأرقام العشري. تعتبر أنواع بيانات النقاط الثابتة ملائمة لتمثيل القيم النقدية. غالباً ما يتم تنفيذها داخليًا كأعداد صحيحة ، مما يؤدي إلى حدود محددة مسبقًا. لا توجد حدود رقمية محددة سلفًا أو أنواع الدقة الرقمية التعسفية. فهي ليست أنواع بدائية ، وتستخدم بشكل مقتصد لأسباب تتعلق بالكفاءة.