تفاوت کلیدی – شناور در مقابل دوبل
در برنامه نویسی، ذخیره داده ها الزامی است. داده ها در حافظه ذخیره می شوند. مکان های حافظه ای که داده ها را ذخیره می کنند، متغیر نامیده می شوند. هر مکان حافظه می تواند نوع خاصی از داده ها را ذخیره کند. اندازه حافظه برای هر نوع داده متفاوت است. در زبان های برنامه نویسی مانند پایتون، برنامه نویس نیازی به اعلام نوع متغیر ندارد. در زبان های برنامه نویسی مانند جاوا، برنامه نویس باید نوع متغیر را اعلام کند. تعدادی از انواع داده ها مانند char، int، float و double وجود دارد. نوع داده char برای ذخیره یک مقدار کاراکتر استفاده می شود. نوع داده int برای ذخیره مقادیر عددی بدون اعشار استفاده می شود.انواع داده های شناور و دوگانه برای ذخیره مقادیر عددی با اعشار استفاده می شود. این مقاله به تفاوت بین شناور و دوبل می پردازد. تفاوت کلیدی بین float و double در این است که float یک نوع داده با دقت 32 بیتی IEEE 754 ممیز شناور است در حالی که double یک نوع داده با دقت 64 بیتی IEEE 754 ممیز شناور است.
شناور چیست؟
شناور یک نقطه شناور 32 بیتی دقیق است. این نوع داده از پیش تعریف شده است که توسط زبان های برنامه نویسی مانند جاوا پشتیبانی می شود. برای اعلام متغیر float از کلمه کلیدی "float" استفاده می شود. بنابراین نمی توان از آن برای نام های شناسه مانند نام متدها و نام متغیرها استفاده کرد. به برنامه زیر مراجعه کنید.
شکل 01: برنامه جاوا با نوع داده شناور
طبق برنامه فوق، عدد متغیری است که می تواند یک عدد ممیز شناور را ذخیره کند. در اینجا از -20.5f به جای -20.5 استفاده شده است. -20.5 یک حرف مضاعف است. برای نشان دادن کامپایلر برای ذخیره مقدار به صورت شناور، برنامه نویس باید f یا F را بنویسد.
دوبل چیست؟
دبل یک ممیز شناور 64 بیتی با دقت دوگانه است. این یک نوع داده از پیش تعریف شده است. برای اعلان یک متغیر دوگانه، از کلمه کلیدی “double” استفاده می شود. بنابراین، نمی توان از آن برای نام های شناسه مانند نام متدها و نام متغیرها استفاده کرد. به برنامه زیر مراجعه کنید.
شکل 02: برنامه جاوا با دو نوع داده
طبق برنامه فوق، عدد یک متغیر از نوع double است. با چاپ عدد خروجی 20.5- می شود. برای ذخیره مقدار 64 بیت در حافظه لازم است. اگر برنامه نویس 20.5- نوشته شود به عنوان دوتایی در نظر گرفته می شود. او همچنین می تواند آن را به صورت -20.5d بنویسد. نوشتن «d» اختیاری است.
ریخته گری نوع را می توان بر روی انواع داده انجام داد. این فرآیند تبدیل یک نوع داده به نوع داده دیگر است.هنگام اختصاص دادن یک نوع داده کوچکتر به یک نوع داده بزرگتر، نیازی به ریخته گری نیست. گشاد شدن به ترتیب بایت، کوتاه، int، long، float، دو برابر صورت می گیرد. هنگامی که یک نوع داده بزرگتر را به یک نوع داده کوچک اختصاص می دهیم، باید ریخته گری انجام شود.
شکل 03: بازیگری
طبق برنامه فوق، num1 و num2 دارای انواع داده های شناور هستند. جمع به متغیر مجموع اختصاص داده می شود. شناور است. از آنجایی که float یک نوع داده کوچکتر در مقایسه با double است، می توان آن را مستقیماً به عدد متغیر دوگانه بدون ریختن نوع اختصاص داد.
x و y می توانند انواع داده های دوگانه را ذخیره کنند. جمع به متغیر z نسبت داده می شود. همچنین می تواند دو برابر را ذخیره کند. برای اختصاص یک نوع داده بزرگتر به یک نوع داده کوچکتر، ریخته گری نوع لازم است. بنابراین، برای ذخیره مقدار دو برابر در یک متغیر float، باید نوع ریخته گری انجام شود زیرا double نوع داده بزرگتری از float است.
شباهتهای بین شناور و دوبل چیست؟
- هر دو float و double انواع داده های از پیش تعریف شده هستند که توسط زبان های برنامه نویسی مانند جاوا پشتیبانی می شوند.
- هر دو نوع شناور و دوبل برای دقتهایی مانند ارز استفاده نمیشوند.
تفاوت بین شناور و دوبل چیست؟
float در مقابل دوبل |
|
شناور یک نوع داده نقطه شناور 32 بیتی IEEE 754 تک دقیق است. | دبل یک نوع داده ممیز شناور 64 بیتی IEEE 754 با دقت دوگانه است. |
تعداد بایت | |
طول شناور 4 بایت است. | دبل 8 بایت است. |
مقادیر پیشفرض | |
مقدار پیشفرض float 0.0f است. | مقدار پیشفرض double 0.0d است. |
کلمه کلیدی | |
کلمه کلیدی "float" برای اعلام یک مقدار شناور استفاده می شود. | کلمه کلیدی "double" برای اعلام یک مقدار دو برابر استفاده می شود. |
حافظه مورد نیاز | |
شناور به حافظه کمتر از دو برابر نیاز دارد. | دبل به حافظه بیشتری نسبت به شناور نیاز دارد. |
خلاصه - شناور در مقابل دو برابر
در برنامه نویسی، ذخیره داده ها ضروری است. این داده ها در مکان های حافظه ذخیره می شوند و متغیر نامیده می شوند. هر متغیر داده هایی از نوع خاصی را ذخیره می کند. انواع داده ها مانند int، char، double و float و غیره وجود دارد. این مقاله تفاوت بین دو نوع داده که یک float و double هستند را مورد بحث قرار می دهد.تفاوت بین float و double در این است که float یک نوع داده است که یک نقطه شناور IEEE 754 IEEE 754 با دقت 32 بیت است در حالی که double یک نوع داده است که یک ممیز شناور IEEE 754 با دقت 64 بیتی دوگانه است.