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++
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 preciso que float. La sintaxis para usar double es la misma de siempre:

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 esa manera, no notarás la diferencia entre float y double. Para establecer una mayor precisión, podemos usar std::cout << std::setprecision(15); nuevamente (esto establecerá la precisión en 15 dígitos significativos).

No olvides 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. Puedes comprobar el tamaño de long double en tu sistema utilizando el siguiente código:

sizeof.h

sizeof.h

copy
1
std::cout << sizeof(long double);

Además, se debe agregar L a un valor que se está asignando (de lo contrario, el valor se asignará con la precisión de double). Observa 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

Desliza para comenzar a programar

Necesitas calcular (1/3)² utilizando diferentes tipos de datos. Para ello, asigna el valor de 1/3 a variables de tipo float, double y long double. Luego imprime esos números multiplicados por sí mismos.

  1. Inicializa una variable float con el valor 1/3.;
  2. Inicializa una variable double con el valor 1/3.;
  3. Inicializa una variable long double con el valor 1/3.L.
    nota: long double ocupa 16 bytes de memoria en nuestro sistema
  4. Establece la precisión de la salida a 25 decimales con setprecision(25);
  5. Imprime 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