انواع اعشاری (float, double)

انواع داده‌های اعشاری در زبان C

در زبان برنامه‌نویسی C، دو نوع داده اصلی برای ذخیره اعداد اعشاری وجود دارد: float و double. این انواع داده تفاوت‌های مهمی در دقت، اندازه حافظه و کاربرد دارند که هر برنامه‌نویسی باید با آن‌ها آشنا باشد.


نوع داده float

نوع float یک نوع داده 32 بیتی است که برای ذخیره اعداد اعشاری با دقت متوسط استفاده می‌شود. ویژگی‌های اصلی آن عبارتند از:

  • حجم حافظه: 4 بایت (32 بیت)
  • محدوده تقریبی: 1.2E-38 تا 3.4E+38
  • دقت: حدود 6 تا 7 رقم اعشار
مثال استفاده:
float pi = 3.141592f;
float temperature = 23.5f;

نوع داده double

نوع double یک نوع داده 64 بیتی است که دقت بیشتری نسبت به float ارائه می‌دهد. این نوع برای محاسبات دقیق‌تر مناسب است:

  1. حجم حافظه: 8 بایت (64 بیت)
  2. محدوده تقریبی: 2.3E-308 تا 1.7E+308
  3. دقت: حدود 15 رقم اعشار
ویژگی float double
حجم (بایت) 4 8
دقت اعشار 6-7 رقم 15 رقم
کاربرد معمول گرافیک، بازی‌ها محاسبات علمی

انتخاب بین float و double

انتخاب بین این دو نوع داده به نیازهای برنامه بستگی دارد:

  • برای صرفه‌جویی در حافظه و زمانی که دقت بالا ضروری نیست، از float استفاده کنید
  • برای محاسبات علمی دقیق یا زمانی که دقت بالا مورد نیاز است، double انتخاب بهتری است
  • در معماری‌های مدرن، تفاوت سرعت بین این دو اغلب ناچیز است
توجه: در استاندارد C99، نوع داده long double نیز معرفی شده که دقت بیشتری از double ارائه می‌دهد، اما پشتیبانی از آن در کامپایلرهای مختلف متفاوت است.

برای اطلاعات بیشتر درباره انواع داده در زبان C می‌توانید اینجا را چک کنید. این منبع توضیحات جامعی درباره انواع داده‌های اولیه در C ارائه می‌دهد.

نکات مهم در کار با اعداد اعشاری

هنگام کار با انواع اعشاری باید به چند نکته کلیدی توجه کنید:

  • مقایسه اعداد اعشاری به دلیل خطای گردکردن ممکن است مشکل‌ساز شود
  • از عملگرهای ریاضی استاندارد (+ - * /) می‌توان برای این انواع استفاده کرد
  • برای نمایش این اعداد در خروجی از فرمت‌های %f و %lf استفاده می‌شود
  • مقداردهی اولیه به float نیاز به پسوند f دارد (مثال: 3.14f)