双精度(Double Precision):在Fortran中,双精度通常使用real(kind=8)来表示,占用8个字节(64位),用于存储较大范围和高精度的浮点数。 单精度(Single Precision):在Fortran中,单精度通常使用real(kind=4)来表示,占用4个字节(32位),用于存储较小范围和较低精度的浮点数。
real(kind=4) :: x real(kind=8) :: y, z x = 0.1 y = 0.2d0 ! d0 suffix indicates double precision constant z = cos(x + y) ! x is implicitly converted to double precision, rounding error may occur ``` > 通用数学函数可能会根据编译器和平台的不同而有不同的实现方式和性能。因此,...
系统为程序中的每一个变量开辟一个存储单元,用来存放变量的值。 常量是分为类型的,而变量是用来存放常量的,因此变量也相应地区分为整型变量INTEGER、实型变量REAL、双精度变量DOUBLE PRECISION、复型变量COMPLEX、逻辑型变量LOGICAL、字符型变量CHARACTER。在程序中应当说明哪些变量是整型变量,哪些变量是实型变量。变量在...
一般而言,real变量的范围可以分为两个方面:单精度(single precision)和双精度(double precision)。 单精度的real变量通常使用4个字节来存储,可以表示的范围大约为1.18E-38到3.40E38。这意味着单精度real变量可以表示非常大或非常小的数值,但其精度相对较低。在进行科学计算时,如果所需的精度较高,可能需要使用双精度...
-fdefault-double-8 此参数会将FORTRAN中的DOUBLE PRECISION 的默认类型设置为8字节,由于通常我们以REAL来声明,因此使用到此DOUBLE PRECISION的情况多出现在老旧的代码中,建议更换为REAL并使用kind限定以达到表示双精度浮点数的目的。此参数可以配合-fdefault-real-8参数使用以阻止DOUBLE PRECISION类型的宽度提升。当然,对...
但指数E要改成D,如:REAL:100.0或1e2,双精度下就得表示成1D2。由于Fortran中不需要对每个变量都进行声明,所以有时候会在每个程序或子程序开头做个说明,如下:IMPLICIT DOUBLE PRECISION(A-H,O-Z)代表以A-H以及O-Z字母开头的变量默认(在不声明的情况下)是双精度的,否则则是整型的。
REAL([KIND=]4) or REAL*4通常实数的范围是10-38—1038之间的7位有效数字缺省值 REAL([KIND=]8) or REAL*8等价于双精度型DOUBLE PRECISION REAL([KIND=]16) or REAL*16仅用于OpenVMS、Tru64 UNIX、Linux操作系统 复型数:有3种。每种表示整型数据或实型数据的方法都可以用来表示复型数据的实部和虚部。
方法1:DOUBLE PRECISION ::s 方法2:Real(8)::s 方法3:Real(Kind = 8 )::s 但方法2,和方法3,并不能保证所有编译器都能够认可 8,不同编译器,对 8 的定义不同。因此,最好的办法是方法4:Integer ,parameter ::NP = SELECTED_REAL_KIND(8)Real(Kind = NP )::s 其中,SELECTED_...
fortran的实型(real)变量有7位的有效精度位数,若认为这个精度不够,可采用双精度的实型(double precision)定义变量,双精度的实型约有15位的有效精度位数。
除了以上常见的变量类型,Fortran还支持其他一些变量类型,如双精度实数类型(DOUBLE PRECISION)、长整数类型(INTEGER*16)等。 在使用变量时,可以通过变量类型来定义变量,例如: 代码语言:txt 复制 INTEGER :: a REAL :: b COMPLEX :: c LOGICAL :: d CHARACTER :: e 以上是一些常见的Fortran变量类型,它们在Fortran...