|
本帖最后由 necrohan 于 2019-12-12 09:35 编辑
《fortran95 2003程序设计》Stephen_J_Chapman,11.1.4混合运算 中说明如下:“当在一个双精度实数和另一个实数或整数间执行算术运算时,Fortran会把其他值转换为双精度值,在双精度值间完成操作。但是,只有双精度数值和其他数值都出现在同一个操作中的时候才会做这种自动转换。”
书中还给了3个例子,
1.d0/3这种会把其中的3转为双精度计算
1.0/3+1.d0/3 其中1.0/3默认是单精度的3.333333e-1,1.d0/3是3.333333333333333E-001,所以结果是6.666666333333333E-001。
看样子除了乘除法,其他都要加d0。
|
|