Fortran 数据类型

Fortran 提供了 5 种固有数据类型,但是,您也可以派生自己的数据类型。

5 种固有类型是:

  • 整数类型
  • 实数类型
  • 复合类型
  • 逻辑类型
  • 字符类型

整数类型

整数类型只能包含整数值。以下实例整数中可以保存的最大值:

  1. program testingInt
  2. implicit none
  3. integer :: largeval
  4. print *, huge(largeval)
  5. end program testingInt

结果如下:

  1. 2147483647

请注意,huge() 出了特定整数数据类型可以容纳的最大数字。您还可以使用种类说明符指定字节数。

  1. program testingInt
  2. implicit none
  3. !two byte integer
  4. integer(kind = 2) :: shortval
  5. !four byte integer
  6. integer(kind = 4) :: longval
  7. !eight byte integer
  8. integer(kind = 8) :: verylongval
  9. !sixteen byte integer
  10. integer(kind = 16) :: veryverylongval
  11. !default integer
  12. integer :: defval
  13. print *, huge(shortval)
  14. print *, huge(longval)
  15. print *, huge(verylongval)
  16. print *, huge(veryverylongval)
  17. print *, huge(defval)
  18. end program testingInt

结果如下:

  1. 32767
  2. 2147483647
  3. 9223372036854775807
  4. 170141183460469231731687303715884105727
  5. 2147483647

实数类型

它存储浮点数,如2.0、3.1415、-100.876等。

传统上有两种不同的实数类型,默认实数类型和双精度类型。

然而,Fortran 90/95 通过种类说明符对实数和整数数据类型的精度提供了更多的控制,我们将在数字一章中对此进行研究。

以下实例显示了实数数据类型的使用:

  1. program division
  2. implicit none
  3. ! Define real variables
  4. real :: p, q, realRes
  5. ! Define integer variables
  6. integer :: i, j, intRes
  7. ! Assigning values
  8. p = 2.0
  9. q = 3.0
  10. i = 2
  11. j = 3
  12. ! floating point division
  13. realRes = p/q
  14. intRes = i/j
  15. print *, realRes
  16. print *, intRes
  17. end program division

结果如下:

  1. 0.666666687
  2. 0

复合类型

它用于存储复数。复数有两部分,实部和虚部。两个连续的数字存储单元存储这两个部分。

例如,复数(3.0,-5.0)等于 3.0–5.0i


逻辑类型

只有两个逻辑值: .true..false.


字符类型

字符类型存储字符和字符串。字符串的长度可以通过 len 说明符指定。如果没有指定长度,则为 1。

  1. character (len = 40) :: name
  2. name = "Zara Ali"

分类导航