FORTRAN 双精度问题
如何定义双精度数组?和定义常数一样吗?另外,单精度和双精度的数相加会怎样(比如0.0000005+0.000000005),结果的精度是单精度还是双精度?...
如何定义双精度数组?和定义常数一样吗?另外,单精度和双精度的数相加会怎样(比如0.0000005+0.000000005),结果的精度是单精度还是双精度?
展开
展开全部
定义双精度数组,比如定义300大小的数组 a
Real , parameter :: DP = Kind( 0.0D0 )
Real( Kind = DP ) :: a( 300 )与定义常量差不多
相加以后,看左侧是什么变量了。比如左侧 b 是双精度
b = 0.5 + 0.5D0
则结果为双精度。同理,如果 b 是单精度,则结果为单精度。如果没有左侧,比如
write(*,*) 0.5 + 0.5D0
则为双精度请注意,常数也有精度。比如 0.5 是单精度,而 0.5D0 为双精度
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询