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

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 23 أبريل 2024
Anonim
الصب المرعب في وكر السماعات
فيديو: الصب المرعب في وكر السماعات

المحتوى


يتمثل الاختلاف الأساسي بين تحويل النوع وصب النوع ، أي تحويل النوع "تلقائيًا" بواسطة برنامج التحويل البرمجي ، في حين أن "صب النوع" يتم "صراحةً" بواسطة المبرمج.

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

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة:

أساس للمقارنةاكتب الصباكتب التحويل
المعنىيتم تعيين نوع بيانات واحد إلى آخر من قبل المستخدم ، وذلك باستخدام عامل التشغيل cast ثم يسمى "Type Casting".يسمى تحويل نوع بيانات إلى آخر تلقائيًا بواسطة المترجم "نوع التحويل".
مستعمليمكن أيضًا تطبيق نوع الصب على نوعين من البيانات غير المتوافقة.لا يمكن تنفيذ تحويل النوع إلا عندما يكون هناك نوعان من البيانات متوافقان.
المشغل أو العامللنقل نوع البيانات إلى نوع آخر ، يلزم وجود عامل تشغيل ().لا المشغل المطلوبة.
حجم أنواع البياناتيمكن أن يكون نوع الوجهة أصغر من نوع المصدر.هنا يجب أن يكون نوع الوجهة أكبر من نوع المصدر.
نفذتيتم ذلك أثناء تصميم البرنامج.يتم ذلك بشكل صريح أثناء التجميع.
نوع التحويل

تحويل ضيق.توسيع التحويل.
مثالكثافة العمليات
بايت ب.
...
...
ب = (بايت) أ ؛
int a = 3 ؛
تعويم ب.
ب = A؛ // القيمة ب = 3.000.


تعريف نوع الصب

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

إعلان:

destination_type = (target_type) variable / value // type type هو نوع تريد تحويل نوع المصدر فيه ، وهو دائمًا نوع الوجهة.

مثال

دعنا نفهم ذلك بمثال. تريد تحويل نوع البيانات "int" إلى "بايت". الآن ، نظرًا لأن "البايت" أصغر من "int" ، لا يُسمح بتحويل الكتابة. هنا ، كان علينا تحويل "int" ضمنيًا إلى "بايت" باستخدام عامل التشغيل ") ()". نظرًا لأن "int" أكبر من "البايت" ، سيتم تقليل حجم "int" إلى مدى "int mod byte".


كثافة العمليات بايت ب. ... ... ب = (بايت)

عندما يتم تحويل "الطفو" إلى "int" ، يتم اقتطاع حجم الطفو ، لأن "int" لا تخزن القيمة الكسرية. إذا كان حجم نوع الوجهة أصغر من أن يكون نوع المصدر مناسبًا له ، فسيكون نوع المصدر هو نوع الوجهة modulo 'range'. يمكن تطبيق الصب أيضًا عندما تكون أنواع البيانات متوافقة. من الممارسات الجيدة استخدام نوع الكتابة حيثما يكون تحويل النوع مطلوبًا.

تعريف تحويل النوع

اكتب التحويل هو التحويل التلقائي لنوع بيانات واحد إلى آخر كلما دعت الحاجة ، ويتم ذلك صراحة بواسطة المترجم. ولكن هناك شرطين يجب استيفائهما قبل تحويل النوع.

  • يجب أن يكون نوع المصدر والوجهة متوافقين.
  • يجب أن يكون نوع الوجهة أكبر من نوع المصدر.

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

مثال

هذا المثال سوف يوفر رؤية أفضل لهذا

int a = 3 ؛ تعويم ب. ب = A؛ // القيمة ب = 3.000.

هنا ، يتم تحويل "int" إلى "تعويم" أكبر من "int" ، لذلك يحدث توسيع في نوع المصدر. هنا ، لا يوجد عامل تشغيل مطلوب لأن المترجم سيقوم بذلك صراحة.

  1. الاختلاف الأساسي الذي يميز casting type عن تحويل type هو أن casting type هو تحويل نوع إلى آخر ، يتم بواسطة مبرمج. من ناحية أخرى ، تحويل النوع هو تحويل نوع إلى آخر ، يتم بواسطة المحول البرمجي أثناء التحويل البرمجي.
  2. يمكن تطبيق نوع الصب على أنواع البيانات ، والتي قد لا تكون متوافقة مع بعضها البعض. على العكس ، لا يمكن تطبيق تحويل الكتابة إلا على أنواع البيانات المتوافقة مع بعضها البعض.
  3. يتطلب تحويل نوع من نوع لآخر في نوع الصب عامل التشغيل "()" في حين أن تحويل نوع بيانات إلى نوع آخر في تحويل النوع لا يتطلب أي مشغل.
  4. أثناء تحويل نوع بيانات إلى نوع آخر في نوع النوع ، يمكن أن يكون نوع الوجهة أكبر أو أصغر من نوع المصدر. على عكس ذلك ، يجب أن يكون نوع الوجهة أكبر من نوع المصدر في تحويل النوع.
  5. يتم تحويل نوع واحد إلى نوع آخر أثناء الترميز في نوع الصب. في المقابل ، في تحويل النوع ، يتم تحويل نوع إلى آخر بشكل صريح أثناء التحويل البرمجي.
  6. يُطلق على صب الكتابة تضييق نطاق التحويل لأن نوع الوجهة هنا يمكن أن يكون أصغر من نوع المصدر. بخلاف ذلك ، يسمى تحويل الكتابة اتساع تحويل لأنه هنا ، يجب أن يكون نوع الوجهة أكبر من نوع المصدر.

خاتمة:

يمكن أن نخلص إلى أن تحويل النوع ونوع الصب ، كلاهما يؤدي مهمة تحويل نوع بيانات إلى نوع آخر ، لكنهما يختلفان بمعنى أن نوع الصب يتم بواسطة المبرمج ، وذلك باستخدام عامل التشغيل المصبوب () '، ويتم تحويل النوع بواسطة برنامج التحويل البرمجي. ، ولا يستخدم أي مشغل.