cpp-02-08 - نوع double
cpp-02-08 - نوع double
توضیحات :
در این ویدیو توضیح میدهیم که تفاوت اصلی دو نوع داده مهم در C++ یعنی float و double در چیست و چرا دقت و نحوه نمایش آنها با یکدیگر فرق دارد.
۱. تفاوت دقت (Precision)
-
float معمولاً دقتی حدود ۶ رقم اعشار دارد.
مثال: -
double حدود ۱۵ تا ۱۶ رقم اعشار را با دقت ذخیره میکند.
مثال:
این یعنی double تقریباً دو برابر float دقت دارد.
۲. نکته مهم درباره فضای حافظه در کامپایلر MSVC
در کامپایلر مایکروسافت (MSVC):
-
float ۴ بایت فضا میگیرد
-
double نیز ۴ بایت فضا میگیرد (نکته جالب و متفاوت MSVC)
علت این موضوع به طراحی داخلی کامپایلر مایکروسافت برمیگردد و بعداً با بررسی معماری دقیقتر MSVC بهتر متوجه میشوید.
۳. چرا هنگام نمایش در کنسول، اعداد کامل چاپ نمیشوند؟
در تستی که انجام میدهیم، حتی اگر double مقدار ۱۲–۱۳ رقم اعشار داشته باشد، کنسول فقط ۵ رقم اعشار چاپ میکند.
این موضوع اشتباه در مقدار double نیست بلکه به خاطر محدودیت پیشفرض تابع خروجی cout است.
در ویدیوهای مربوط به Streams آموزش میدهیم که چگونه میتوان تعداد نمایش اعشار را تغییر داد و مقدار واقعی double را کامل چاپ کرد.
۴. نکات تکمیلی که در ویدیو یاد میگیرید
-
چرا هنگام تعریف float باید حرف
fرا آخر عدد بنویسیم -
چرا double نیازی به پسوند ندارد
-
تفاوت literalها
-
اهمیت بررسی منابع معتبر مثل StackOverflow و W3Schools
-
نگاه دقیقتر به رفتار کامپایلر و معماری زبان
نتیجه
در پایان این بخش، یاد میگیرد که:
-
float و double از نظر دقت، نحوه ذخیرهسازی و نمایش چه تفاوتهایی دارند.
-
چرا double اعداد بیشتری را نگه میدارد اما در خروجی کمتر نمایش داده میشود.
-
چه نکاتی در معماری کامپایلر MSVC باعث تفاوت رفتار float و double میشود.
لطفا برای گذاشتن نظرات خود وارد شوید