توی این ویدیو می‌خوایم درباره‌ی تبدیل ضمنی صحبت کنیم.
و چندین نوع مختلف تبدیل وجود داره.
می‌خوایم مرحله به مرحله اونا رو بررسی کنیم.
پس اولین مورد تبدیل ضمنی خواهد بود.
برای همین من یه متغیر می‌سازم که اسمش رو می‌ذارم my int.
و بهش یه مقدار می‌دم، مثلاً 13.
و مثل همیشه این دستور رو با نقطه‌ویرگول تموم می‌کنم.
حالا می‌تونم یه double داشته باشم که اسمش رو می‌ذارم my double.
و می‌تونم مقدار my int رو به اون نسبت بدم.
و این کار جواب می‌ده.
می‌بینید هیچ خطایی وجود نداره، هیچ مشکلی پیش نمیاد.
پس اینجا یه تبدیل ضمنی از int به double دارم.
و my double از نوع double هست.
و این کار جواب می‌ده چون int اطلاعات کمتری نسبت به double داره.
و double می‌تونه همه‌ی اون اطلاعاتی که int نگه می‌داره رو ذخیره کنه.
پس هیچ از دست دادن داده یا اطلاعاتی وجود نداره.
وقتی دارم از تبدیل ضمنی استفاده می‌کنم.
پس نوع مقصد تضمین می‌کنه که می‌تونه اطلاعات رو نگه داره، در این مثال عدد 13.
این چیزی هست که تبدیل ضمنی به نظر می‌رسه.
می‌تونید از تبدیل ضمنی در مثال‌های پیچیده‌تر هم استفاده کنید.
مثلاً می‌تونید یه long داشته باشید.
int هم می‌تونه مقدار long int رو نگه داره، چون یه جور بزرگ‌تره.
int چون long یه عدد صحیح 32 بیتی علامت‌دار رو نگه می‌داره، و یه عدد صحیح 64 بیتی.
یعنی عدد خیلی بزرگ‌تری.
پس اینجا هم از دست دادن داده نداریم.
اما برعکسش کار نمی‌کنه.
یعنی نمی‌تونم بگم my int برابر با my long باشه.
این جواب نمی‌ده چون long می‌تونه اطلاعات بیشتری نسبت به int ذخیره کنه،
و این یعنی داده از دست می‌ره و باید روش دیگه‌ای برای تبدیل استفاده کنم.
برای همین نمی‌تونم از تبدیل ضمنی برای این حالت استفاده کنم.
می‌تونید اینو خیلی راحت با ساختن یه عدد بزرگ امتحان کنید.
مثلاً یه عدد خیلی بزرگ مثل این.
خب.
یه عدد خیلی بزرگ مثل این، ببینیم تا کجا جواب می‌ده.
این همون حداکثر اندازه‌ایه که int می‌تونه نگه داره.
و اگه بررسی کنم ببینم double چی می‌تونه نگه داره،
می‌بینم که double می‌تونه همچین عدد بزرگی رو نگه داره.
بله، می‌تونه.
رو بهش نسبت بدم. int پس می‌تونم
حالا ببینیم long می‌تونه همچین عددی رو نگه داره؟
بله می‌تونه.
نسبت بدیم ولی برعکس اش رو نه long به int پس می‌تونم
long چون توی می‌تونم حتی یه عدد خیلی خیلی بزرگ‌تر ذخیره کنم، نه به اون بزرگی، ولی بزرگ‌تر.
یه چیزی شبیه این.
long این اندازه‌ایه که می‌تونم توی بذارم، حتی بزرگ‌تر از این هم می‌شه.
پس می‌تونم همچین عدد بزرگی رو توی long ذخیره کنم، ولی نمی‌تونم همونو توی int بذارم.
خب.
این فقط برای اینه که نشون بدم چطور می‌تونید سریع بررسی کنید که جواب می‌ده یا نه.
این موضوع برای float هم صدق می‌کنه؛ می‌تونید یه float رو توی double ذخیره کنید، اما نمی‌تونید
float رو توی double یه رو توی بذارید.
می‌تونیم اینو امتحان کنیم با ساختن یه float.
پس یه float می‌سازم به اسم my float.
و می‌خوام مقدار my double رو بهش نسبت بدم.
می‌بینید که این کار جواب نمی‌ده.
اما اگه یه float بسازم و هر مقداری بهش بدم (با F در آخرش) و بعد
اون رو توی double ذخیره کنم، هیچ مشکلی پیش نمیاد، چون می‌تونم به‌طور ضمنی تبدیل کنم
بریزیم double رو داخل float می تونیم محدوده‌ی بیشتری داره و بدون مشکل رو نگه می داره double چون
را float مقدار
خب، این تبدیل ضمنی است.
توی ویدیوی بعدی می‌ریم سراغ تبدیل صریح.