fortran - terminos - progresion geometrica youtube
Mejor precisión para resolver una progresión geométrica (1)
Dejar que a1
sea el primer término, r
sea la constante por la que se multiplica cada término para obtener el siguiente término y n
el número de términos, la progresión geométrica es: ai = a1*r**(i-1)
, pn
el producto de los n
términos y sn
la suma de los n
términos.
Tengo las fórmulas para calcular esto, pero Fortran 95 (Plato2) no admite la precisión que necesito. (Por ejemplo: no puedo obtener -1.234E + 00567890 como resultado).
¿Cómo puedo "ampliar" la doble precisión para trabajar con estos números "enormes"?
Tales números altos (su ejemplo -1.234E + 00567890) son demasiado grandes para cualquier tipo numérico intrínseco provisto por el estándar Fortran. También son más grandes que los números utilizados en aplicaciones físicas y de ingeniería. Por ejemplo, mi gfortran admite estos tipos:
huge(1.0_real32) 3.40282347E+38
huge(1.0_real64) 1.7976931348623157E+308
huge(1.0_real128) 1.18973149535723176508575932662800702E+4932
Hasta donde yo sé, no existe un compilador Fortran disponible con tipos de puntos flotantes intrínsecos mucho más grandes.
Para fines especializados, como el suyo, se necesitan bibliotecas especializadas. Este sitio no es para recomendaciones de software, por lo que no recomendaré ninguno en particular. Eche un vistazo a una lista de algunos de ellos en http://crd-legacy.lbl.gov/~dhbailey/mpdist/ y, por supuesto, hay más información (la Biblioteca Científica GNU tendrá algo de lo que estoy seguro).