المصطلحين نوع الصب و ال نوع التحويل يتم استخدامها في برنامج لتحويل نوع بيانات واحد إلى نوع بيانات آخر. لا يمكن تحويل نوع البيانات إلا بواسطة المترجم عندما تكون متوافقة مع بعضها البعض. دعونا نناقش الفرق بين كتابة الكتابة وتحويل الكتابة في أي لغة برمجة.
ما هو نوع الصب؟
عندما يتم تحويل نوع بيانات إلى نوع بيانات آخر بواسطة مبرمج أو مستخدم أثناء كتابة كود برنامج لأي لغة برمجة، تُعرف الآلية باسم نوع الصب . يستخدمه المبرمج يدويًا لتحويل نوع بيانات إلى نوع آخر. يتم استخدامه إذا أردنا تغيير نوع البيانات الهدف إلى نوع بيانات آخر. تذكر أن نوع البيانات الوجهة يجب أن يكون أصغر من نوع البيانات المصدر. ومن ثم يطلق عليه أيضًا تحويل التضييق.
بناء الجملة:
Destination_datatype = (target_datatype) variable; (data_type) it is known as casting operator
نوع_البيانات_الهدف: إنه نوع البيانات الذي نريد تحويل نوع البيانات الوجهة إليه. يحدد المتغير القيمة التي سيتم تحويلها في نوع target_data. دعونا نفهم مفهوم نوع الصب مع مثال.
لنفترض أننا نريد تحويل يطفو نوع البيانات في كثافة العمليات نوع البيانات. هنا، يكون نوع البيانات الهدف أصغر من البيانات المصدر لأن حجمها كثافة العمليات هو 2 بايت، وحجم يطفو نوع البيانات هو 4 بايت. وعندما نقوم بتغييره، يتم اقتطاع قيمة المتغير العائم وتحويله إلى متغير صحيح. يمكن إجراء الإرسال باستخدام نوع بيانات متوافق وغير متوافق.
float b = 3.0; int a = (int) b; // converting a float value into integer
دعونا نفهم نوع الصب من خلال برنامج C.
AreaOfRectangle.c
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); float x = 3.5, y = 4.5; // the size of float variable is 4 byte. int area; // the size of the int variable is 2 bytes. area = (int) x * y; // after conversion the product converts into integer printf(' Area of a Rectangle is : %d', area); printf(' Here, we convert float data type into the Int data type'); getch(); }
انتاج:
ما هو نوع التحويل؟
إذا تم تحويل نوع البيانات تلقائيًا إلى نوع بيانات آخر في وقت الترجمة، فهذا يُعرف باسم تحويل النوع. يتم إجراء التحويل بواسطة المترجم إذا كان كلا نوعي البيانات متوافقين مع بعضهما البعض. تذكر أن نوع البيانات الوجهة يجب ألا يكون أصغر من نوع المصدر. ومن المعروف أيضا باسم اتساع تحويل نوع البيانات.
دعونا نفهم تحويل النوع مع مثال.
لنفترض أن لدينا كثافة العمليات نوع البيانات وتريد تحويلها إلى ملف يطفو نوع البيانات. هذه أنواع بيانات متوافقة مع بعضها البعض لأن أنواعها رقمية، وحجم int هو 2 بايت وهو أصغر من نوع البيانات العائمة. ومن ثم، يقوم المترجم تلقائيًا بتحويل أنواع البيانات دون فقدان القيم أو اقتطاعها.
int a = 20; Float b; b = a; // Now the value of variable b is 20.000 /* It defines the conversion of int data type to float data type without losing the information. */
في المثال أعلاه، يتم تحويل نوع البيانات int إلى float، الذي يكون حجمه أكبر من int، وبالتالي يؤدي إلى توسيع نوع البيانات المصدر.
دعونا نفهم تحويل النوع من خلال برنامج C.
#include #include void main() { printf(' Welcome to Javatpoint tutorials '); int x = 3, y = 4; // the size of int variable is 2 byte. float area; // the size of float variable is 4 bytes. area = x * y; /* It is a type conversion that automatically converted by the compiler at the compile time of a program. */ printf(' Area of a Rectangle is : %f', area); printf(' Here, we convert int data type to the float data type'); getch(); }
انتاج:
الفرق بين نوع الصب وتحويل النوع
س.ن. | نوع الصب | نوع التحويل |
---|---|---|
1 | نوع الصب هو آلية يتم من خلالها تحويل نوع بيانات واحد إلى نوع بيانات آخر باستخدام عامل الصب () بواسطة مبرمج. | يسمح تحويل النوع للمترجم بتحويل نوع بيانات واحد إلى نوع بيانات آخر في وقت الترجمة لبرنامج أو رمز. |
2 | ويمكن استخدام كل من نوع البيانات المتوافق ونوع البيانات غير المتوافق. | يتم استخدام تحويل النوع فقط مع أنواع البيانات المتوافقة، وبالتالي فهو لا يتطلب أي عامل تشغيل. |
3 | يتطلب الأمر مبرمجًا لإرسال بيانات واحدة يدويًا إلى نوع آخر. | لا يتطلب الأمر أي تدخل من المبرمج لتحويل نوع بيانات إلى آخر لأن المترجم يقوم بتجميعه تلقائيًا في وقت تشغيل البرنامج. |
4 | يتم استخدامه أثناء تصميم برنامج من قبل المبرمج. | يتم استخدامه أو يتم إجراؤه في وقت ترجمة البرنامج. |
5 | عند إرسال نوع بيانات إلى آخر، يجب أن يكون نوع البيانات الوجهة أصغر من البيانات المصدر. | عند تحويل نوع بيانات إلى آخر، يجب أن يكون نوع الوجهة أكبر من نوع البيانات المصدر. |
6 | ويُعرف أيضًا باسم التحويل التضييقي نظرًا لأن نوع بيانات أكبر يتم تحويله إلى نوع بيانات أصغر. | يُعرف أيضًا بتوسيع التحويل نظرًا لأن نوع بيانات أصغر يتحول إلى نوع بيانات أكبر. |
7 | إنه أكثر موثوقية وكفاءة. | إنها أقل كفاءة وأقل موثوقية. |
8 | هناك احتمالية لفقد البيانات أو المعلومات أثناء عملية الكتابة. | في تحويل النوع، من غير المرجح أن يتم فقدان البيانات عند التحويل من نوع بيانات صغير إلى نوع بيانات كبير. |
8 | float b = 3.0; int a = (int) b | int x = 5, y = 2, c; float q = 12.5, p; p = q/x; |