数値表現

Fortran の数値環境は柔軟性が高く,このことが Fortran を数値計算に有利な言語としています。Fortran 標準は,数量の精度と数値結果の丸め方を意図的に定めていません。これにより,Fortran は多様なシステムの多様な用途に効率的に動作できるようになっています。

整数に対する数値演算の効果は単純です。

整数に対する演算の結果は,この範囲内の整数となります。覚えておかなければならない唯一の算術上の規則は,整数の除算結果が切り捨てられるということです (たとえば,8/3 は 2 に評価されます)。

しかし,実数に対する計算は,期待どおりの結果にならないことがあります。これは,ハードウェアが数値を有限個のビットで表現しなければならないために起こります。

有限な浮動小数点数を使用することにはいくつかの効果があります。ハードウェアは,個々の実数を正確に表現することはできず,有限の長さに丸めるか切り捨てることによって正確な表現を近似しなければなりません。さらに,一部の数値は最大および最小の指数の表現範囲を超えているために,計算がアンダーフローまたはオーバーフローを引き起こす可能性があります。この例の 1 つとして,有限精度では,ゼロではないのにもかかわらず,加算の際にはゼロのように振る舞う数値が多数存在することです。

有限表現の影響は,プログラミング手法を使うことで最小限に抑えることができます。たとえば,LOGICAL の比較に浮動小数点数を使わない,あるいは許容範囲を与える (例:IF (x <= 10.001)) とか,有効ビット数よりも大きな差のある数値を加えたり,比較したりしないようにするなどです。精度の影響を抑えるためのプログラミング手法についての詳細は,「丸め誤差」を参照してください。

浮動小数点数の表現についての詳細は,次の節を参照してください。