Fortran Coder

标题: fortran计算中,real类型可以单精度和双精度混用吗? [打印本页]

作者: sohu    时间: 2016-5-4 09:48
标题: fortran计算中,real类型可以单精度和双精度混用吗?
如下程序,想让子程序用双精度计算,但是返回单精度,给主程序,行不行?
[Fortran] 纯文本查看 复制代码

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
编译运行下不就知道了吗?这样做是可以的,但一定要注意有效数字的损失问题。
作者: sohu    时间: 2016-5-6 12:15
好的,谢谢。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2