3

Fortran コードがあり、Fortran エディター (Force 2.0.9) がそのコードの次の行を理解できません。

real(kr8) :: rnum

このタイプの変数の宣言については何も見つかりませんでした。(kr8) とはどういう意味ですか? 誰かが私にそれを説明できるかどうか本当に感謝していますか?

4

2 に答える 2

6

これは次の略です。

real(kind=kr8) :: rnum

この場合、変数またはパラメーターkr8は、コード内の別の場所 (同じプロシージャー内の場合はこの行の上) で指定され、モジュールを介してアクセスされる場合は別のファイル内で指定されます。kr8その名前から、が特定のコンパイラ用の倍精度浮動小数点数 (サイズは 8 バイト) のような形で定義されていると推測できます。

kind整数変数と実数変数のさまざまな精度と範囲に対してパラメーターが取り得る値については、Fortran コンパイラーのドキュメントを参照してください。force を使用している場合、コンパイラは gfortran、g95、または g77 のいずれかです。このkindパラメーターは Fortran 90 に導入された機能であり、コンパイラーが g77 の場合、このパラメーターを使用してコンパイルできない可能性があります。

このSO質問への回答も読むのに役立ちます: Fortran 90 kind parameter .

于 2012-08-02T22:21:10.077 に答える
2

Fortran >=90 で変数を宣言するいくつかの方法についての以前の回答は次のとおりです: Fortran: integer*4 vs integer(4) vs integer(kind=4)。これが実変数でどのように機能するかについては、拡張倍精度も参照してください。

于 2012-08-02T22:46:09.747 に答える