Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Neilvart en 27 de Julio 2013, 15:34
-
Hola de nuevo, ya he conseguido sacar los 50 dígitos de esa fórmula, gracias a un compañero de aprenderaprogramar. Ya me he concienciado que no se puede sacar un número infinito, hay que ponerle límite. De todas formas, en este código:
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;
int main()
{
double valor;
valor = ((1+sqrt(5))/2);
cout << setprecision(50) << valor;
_getch();
return 0;
}
En setprecision si pongo 50 me salen los 50 dígitos, pero si pongo 100, me siguen saliendo por pantalla 50 dígitos. ¿Cómo lo puedo cambiar para que me salga en pantalla los dígitos que le ponga yo?
Gracias de antemano.
-
No puedes ponerle el número de dígitos que quieras, tienes unos límites porque el lenguaje y el propio computador tienen unos límites. Hay un valor máximo de decimales disponibles, si quieres sacar más de esos decimales tienes que construir un programa específico para ello, no te basta con establecer la precisión decimal. Ahora bien, normalmente con 3, 6 ó 9 decimales es suficiente para casi cualquier tipo de trabajo que se quiera hacer.