(برنامه نویسی java) انواع float وdouble در محیط جاوا (رباتیک _ الکترونیک)

پژوهشگر و نویسنده:  (  افشین رشید )

نکته: اعداد اعشاری  float وdouble یا همان اعداد حقیقی برای ارزش گذاری عبارتهایی که نیازمند دقت بیشتری هستند ، استفاده می شـوند. 

بعنـوان نمونـه ،محاسباتی نظیر ریشه دوم و محاسبات مثلثاتی نظیر سینوس و کسینوس منجربه جوابهایی می شوند که برای تعیـین دقـت آن نیـاز بـه نـوع عدد اعشاری می باشد . جاوا یک مجموعه استاندارد (754-IEEE (از انواع عدد اعشاری و عملگرها را پیاده سازی می کند. دو نـوع عـدد اعشـاری تعریـف شـده یعنـی float وdouble و هسـتند کـه بترتیـب معـرف دقـت معمـولی و مضـاعف مـی باشـند . پهنا و دامنه آنها را در زیر نشان داده ایم : 

دامنه پهنا بر حسب تعداد بیت نام

double 64 1.7e-308 to 1.7e+308

Float و Double هر دو نوع داده تحت عنوان Floating-point هستند. عدد Floating-point اعداد واقعی هستند که یک جزء کسری در آن دارند. تفاوت اصلی float و double در این است که نوع float دارای ذخیره 32 بیتی است. از طرف دیگر ، نوع دوتایی دارای 64 بیتی است.

float

این نوع مشخص کننده یک مقدار با دقت معمولی بوده که از 32 بایت حافظه استفاده می کند . دقت معمـول روی بعضـی پردازنـده هـا سریعتر بوده و نسبت به دقت مضاعف نیمی از فضا را اشغال می کند ، اما هنگامیکه مقادیر خیلی بزرگ یا خیلی کوچـک باشـند ، دقـت خود را از دست میدهد . متغیرهای نوع float برای زمانی مناسب هستند که از یک عضو کسری استفاده می کنیـد امـا نیـازی بـه دقـت خیلی زیاد ندارید . بعنوان مثال ، نوع float برای معرفی دلار و سنت بسیار مناسب است;lowtemp/ hightemp float .

 double

 دقت مضاعف که با واژه کلیدی double معین می شود برای ذخیره کردن یک مقدار 64 بیت فضا را اشغال می کند . دقت مضـاعف روی برخی پردازنده های جدید که برای محاسـبات ریاضـی بـا سـرعت زیـاد بهینـه شـده انـد ، واقعـا" سـریعتر از دقـت معمـولی عمـل می کند . کلیه توابع مثلثاتی نظیر sin ، ()cos ()و sqrt () مقادیر مضاعف را برمی گردانند . هنگام اجرای محاسبات مکرر کـه نیـاز به حفظ دقت دارید و یا هنگام کار با ارقام خیلی بزرگ double بهترین انتخاب است.

نویسنده:  (افشین رشید )