Fortran 数据类型
Fortran 提供了 5 种固有数据类型,但是,您也可以派生自己的数据类型。
5 种固有类型是:
- 整数类型
- 实数类型
- 复合类型
- 逻辑类型
- 字符类型
整数类型
整数类型只能包含整数值。以下实例整数中可以保存的最大值:
program testingInt
implicit none
integer :: largeval
print *, huge(largeval)
end program testingInt
结果如下:
2147483647
请注意,huge()
出了特定整数数据类型可以容纳的最大数字。您还可以使用种类说明符指定字节数。
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等。
传统上有两种不同的实数类型,默认实数类型和双精度类型。
然而,Fortran 90/95 通过种类说明符对实数和整数数据类型的精度提供了更多的控制,我们将在数字一章中对此进行研究。
以下实例显示了实数数据类型的使用:
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
复合类型
它用于存储复数。复数有两部分,实部和虚部。两个连续的数字存储单元存储这两个部分。
例如,复数(3.0,-5.0)等于 3.0–5.0i
逻辑类型
只有两个逻辑值: .true. 和 .false.
字符类型
字符类型存储字符和字符串。字符串的长度可以通过 len
说明符指定。如果没有指定长度,则为 1。
character (len = 40) :: name
name = "Zara Ali"