¿Cuál es la diferencia entre float y double en C++?
¡Hola! Recientemente empecé a estudiar C++ y me encontré con una situación confusa. En el libro de texto dice que hay dos tipos para números de punto flotante: float y double. Entiendo que double ocupa más memoria (8 bytes frente a 4), pero no me queda del todo claro cuándo usar cada uno.
Por ejemplo, escribí un programa simple para calcular el área de un círculo:
```cpp
#include
#include
int main() {
float radius = 2.5f;
float area = M_PI * radius * radius;
std::cout << "Área: " << area << std::endl;
return 0;
}
```
Todo funciona perfectamente. Pero luego intenté calcular algo más complejo, como la suma de una gran cantidad de números fraccionarios:
```cpp
float sum = 0.0f;
for (int i = 0; i < 1000000; ++i) {
sum += 0.1f;
}
std::cout << "Suma: " << sum << std::endl; // Muestra 99999.992... en lugar de 100000.0
```
¡El resultado resultó ser inexacto! Si reemplazo float por double, la respuesta se acerca más a lo esperado. ¿Por qué sucede esto? ¿Cuál es la diferencia fundamental?
No answers yet.
Inicia sesión para dejar una respuesta