设a1为第一项,r为常数,每一项乘以得到下一项,n为项的数量,几何级数为:ai = a1*r**(i-1),pn是n项的乘积,sn是n项的和。
我有计算这个的公式,但是Fortran95 (Plato2)不允许我需要的精度。(例如:我无法获得-1.234E+00567890作为结果)。
我如何“充分”使用双精度来处理这个“巨大”的数字呢?
发布于 2017-01-12 23:50:27
这样的大数字(例如-1.234E+00567890)对于Fortran标准提供的任何内部数值类型来说都太大了。它们也比物理和工程应用中使用的数字大。例如,我的gfortran支持以下类型:
huge(1.0_real32) 3.40282347E+38
huge(1.0_real64) 1.7976931348623157E+308
huge(1.0_real128) 1.18973149535723176508575932662800702E+4932据我所知,目前还没有Fortran编译器支持更大的内部浮点类型。
对于特定的目的,就像您的一样,需要专用库。这个网站不是为软件推荐的,所以我不会推荐任何特别的。在http://crd-legacy.lbl.gov/~dhbailey/mpdist/上看一下其中的一些,当然还有更多( GNU sure会有一些我相信)。
https://stackoverflow.com/questions/41615684
复制相似问题