Fortran-data-types

提供:Dev Guides
移動先:案内検索

Fortran-データ型

Fortranには5つの組み込みデータ型がありますが、独自のデータ型も派生できます。 5つの組み込み型は-

  • 整数型
  • リアルタイプ
  • 複合型
  • 論理型 *キャラクタータイプ

整数型

整数型は整数値のみを保持できます。 次の例では、通常の4バイト整数に保持できる最大値を抽出します-

program testingInt
implicit none

   integer :: largeval
   print* , huge(largeval)

end program testingInt

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

2147483647
  • huge()関数は、特定の整数データ型が保持できる最大数を与えることに注意してください。 *kind 指定子を使用してバイト数を指定することもできます。 次の例はこれを示しています-
program testingInt
implicit none

   !two byte integer
   integer(kind = 2) :: shortval

   !four byte integer
   integer(kind = 4) :: longval

   !eight byte integer
   integer(kind = 8) :: verylongval

   !sixteen byte integer
   integer(kind = 16) :: veryverylongval

   !default integer
   integer :: defval

   print *, huge(shortval)
   print *, huge(longval)
   print *, huge(verylongval)
   print *, huge(veryverylongval)
   print *, huge(defval)

end program testingInt

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

32767
2147483647
9223372036854775807
170141183460469231731687303715884105727
2147483647

リアルタイプ

2.0、3.1415、-100.876などの浮動小数点数を格納します。

伝統的に、デフォルトの real 型と double precision 型の2つの異なる実数型があります。

ただし、Fortran 90/95では、 kind 指定子を使用して実数および整数データ型の精度をより詳細に制御できます。これについては、数値の章で説明します。

次の例は、実際のデータ型の使用を示しています-

program division
implicit none

   ! Define real variables
   real :: p, q, realRes

   ! Define integer variables
   integer :: i, j, intRes

   ! Assigning  values
   p = 2.0
   q = 3.0
   i = 2
   j = 3

   ! floating point division
   realRes = p/q
   intRes = i/j

   print *, realRes
   print *, intRes

end program division

上記のプログラムをコンパイルして実行すると、次の結果が生成されます-

0.666666687
0

複合型

これは、複素数を格納するために使用されます。 複素数には、実数部と虚数部の2つの部分があります。 2つの連続した数値ストレージユニットは、これら2つの部分を格納します。

たとえば、複素数(3.0、-5.0)は3.0 – 5.0iに等しい

数値の章で、複合型について詳しく説明します。

論理型

論理値は2つのみです:* .true。および .false。*

キャラクタータイプ

文字タイプには、文字と文字列が格納されます。 文字列の長さは、len指定子で指定できます。 長さを指定しない場合、1です。

例えば、

character (len = 40) :: name
name = “Zara Ali”

式* name(1:4)*は、サブストリング「Zara」を提供します。

暗黙的な入力

Fortranの古いバージョンでは、暗黙的な型指定と呼ばれる機能が許可されていました。つまり、使用する前に変数を宣言する必要はありません。 変数が宣言されていない場合、その名前の最初の文字がその型を決定します。

i、j、k、l、m、またはnで始まる変数名は整数変数であると見なされ、その他は実変数です。 ただし、すべての変数を宣言する必要があります。これは適切なプログラミング方法です。 そのためには、ステートメントでプログラムを開始します-

implicit none

このステートメントは、暗黙的な入力をオフにします。