2017-01-12 66 views
0

a1是第一項,r是常數,每個術語的相乘得到的下一個項和n是術語的數目,幾何級數是:ai = a1*r**(i-1)pn產品的n條款和snn項的總和。更好精度解決幾何級數

我的公式來計算這一點,但Fortran 95的(Plato2)不承認我所需要的精度。 (例如:我無法得到-1.234E + 00567890的結果)。

我如何「充分」的雙精度與這個「龐大」的數字工作?

+1

您必須出示你的代碼,並描述了命令給你顯示結果。不要忘記顯示如何初始化變量。否則你的問題將被作爲題外話閉幕。閱讀[問]和[mcve] –

回答

1

這樣高的數字(您的例子-1.234E + 00567890)是用於通過Fortran標準提供的任何數值固有類型太大。它們也大於物理和工程應用中使用的數量。據

huge(1.0_real32) 3.40282347E+38 
huge(1.0_real64) 1.7976931348623157E+308 
huge(1.0_real128) 1.18973149535723176508575932662800702E+4932 

,因爲我知道有可提供更大的內在浮點類型沒有Fortran編譯:例如,我的gfortran支持這些類型。

對於特殊目的,是你的,需要專業圖書館。本網站不適用於軟件推薦,所以我不會推薦任何特定的軟件。看看其中的一些列表,其中有一些在http://crd-legacy.lbl.gov/~dhbailey/mpdist/,當然還有更多(GNU科學圖書館將有我肯定的東西)。