Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Números de Doble Precisión | Tipos de Datos Numéricos
Tipos de Datos en C++
close
Sección 2. Capítulo 5
single

single

bookNú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.

double.

copy
1
double 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

main.cpp

copy
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

sizeof.h

copy
1
std::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

double.h

copy
1
long double pi = 3.141592653589793238462643L;
Note
Nota

Si obtuviste ceros en la salida, asegúrate de haber asignado los valores exactamente como se muestra arriba (1/3., 1/3.L).

Tarea

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.

  1. Inicializar una variable float con el valor 1/3.;
  2. Inicializar una variable double con el valor 1/3.;
  3. Inicializar una variable long double con el valor 1/3.L.
    nota: long double ocupa 16 bytes de memoria en nuestro sistema
  4. Establecer la precisión de la salida a 25 decimales con setprecision(25);
  5. Imprimir todos esos valores multiplicados por sí mismos.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 5
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

some-alt