Avatar ·

ما الفرق بين float و double في C++؟

مرحبًا! لقد بدأت مؤخرًا في تعلم C++ وواجهت موقفًا غير واضح. مكتوب في الكتاب المدرسي أن هناك نوعين للأرقام ذات الفاصلة العائمة: float و double. أفهم أن double يستهلك ذاكرة أكبر (8 بايت مقابل 4)، لكن ليس واضحًا تمامًا متى أستخدم أيًا منهما.\n\nعلى سبيل المثال، كتبت برنامجًا بسيطًا لحساب مساحة الدائرة:\n\n```cpp\n#include \n#include \n\nint main() {\n float radius = 2.5f;\n float area = M_PI * radius * radius;\n std::cout << "المساحة: " << area << std::endl;\n return 0;\n}\n```\n\nكل شيء يعمل بشكل ممتاز. لكن بعد ذلك حاولت حساب شيء أكثر تعقيدًا، مثل مجموع عدد كبير من الأعداد الكسرية:\n\n```cpp\nfloat sum = 0.0f;\nfor (int i = 0; i < 1000000; ++i) {\n sum += 0.1f;\n}\nstd::cout << "المجموع: " << sum << std::endl;\n```\n