sohu 发表于 2016-5-4 09:48:18

fortran计算中,real类型可以单精度和双精度混用吗?

如下程序,想让子程序用双精度计算,但是返回单精度,给主程序,行不行?

program main
   Implicit None !// 非常重要
real(kind=8)::x=8.0d0!//常数要加 d0
   real(kind=4)::y , add!要定义 add
   y=add(1,x)
   write(*,*)y
end program main
real(kind=4) function add(I,x)
   Implicit None !//非常重要
integer :: i!// 定义
real(kind=8) :: x !//定义
if(I==1) add=x+10.0d0 !//常数要加 d0
end function add

jason388 发表于 2016-5-4 12:08:51

编译运行下不就知道了吗?这样做是可以的,但一定要注意有效数字的损失问题。

sohu 发表于 2016-5-6 12:15:06

好的,谢谢。
页: [1]
查看完整版本: fortran计算中,real类型可以单精度和双精度混用吗?