Genial!
Completion tasa mejorada a 4.35single
Números de Doble Precisión
Desliza para mostrar el menú
La precisión de float (7 dígitos decimales) no siempre es suficiente. Pero C++ ofrece una solución: double. Con una precisión de 15 dígitos decimales, es mucho más exacto que float. La sintaxis para utilizar double es la habitual:
double.
1double num = 3.14159265359;
Por defecto, cout imprime números de punto flotante con una precisión de 6 dígitos significativos. De este modo, no se observa diferencia entre float y double. Para establecer una mayor precisión, se puede utilizar std::cout << std::setprecision(15); nuevamente (esto ajustará la precisión a 15 dígitos significativos).
No olvide incluir <iomanip> para poder utilizar std::setprecision().
main.cpp
123456789101112131415#include <iostream> #include <iomanip> int main() { float pi_float = 3.14159265358979; double pi_double = 3.14159265358979; std::cout << "float pi: " << pi_float << std::endl; std::cout << "double pi: " << pi_double << std::endl; std::cout << std::setprecision(15); std::cout << "float pi with setprecision: " << pi_float << std::endl; std::cout << "double pi with setprecision: " << pi_double << std::endl; }
¿Cómo se logra una mejor precisión en double?
Simplemente utiliza más memoria. Un tipo float ocupa 4 bytes, y un double ocupa 8 bytes de memoria.
También existe un tipo long double. Su tamaño varía desde 8 bytes (igual que un double) hasta 16 bytes. Puede comprobar el tamaño de long double en su sistema utilizando el siguiente código:
sizeof.h
1std::cout << sizeof(long double);
Además, se debe añadir L al valor que se está asignando (de lo contrario, el valor se asignará con la precisión de double). Observe el ejemplo:
double.h
1long double pi = 3.141592653589793238462643L;
Si obtuviste ceros en la salida, asegúrate de haber asignado los valores exactamente como se muestra arriba (1/3., 1/3.L).
Swipe to start coding
Necesita calcular (1/3)² utilizando diferentes tipos de datos. Para ello, asigne el valor de 1/3 a variables de tipo float, double y long double. Luego, imprima esos números multiplicados por sí mismos.
- Inicializar una variable
floatcon el valor1/3.; - Inicializar una variable
doublecon el valor1/3.; - Inicializar una variable
long doublecon el valor1/3.L.
nota:long doubleocupa 16 bytes de memoria en nuestro sistema - Establecer la precisión de la salida a 25 decimales con
setprecision(25); - Imprimir todos esos valores multiplicados por sí mismos.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla