回 帖 发 新 帖 刷新版面

主题:[讨论]Fortran的cmplx函数

应用cmplx函数将两个只能用双精度表示的实数组合成为一个复数,结果为什么是<infinity,infinity>呢?不知道问题所在,请各位高手指点。以下面的这个小程序为例:
complex(kind=8) :: u
real(kind=8) :: b=1.0d40,d=2.0d60
u=cmplx(b,d)
write(*,*)u
end 
谢谢大家!

回复列表 (共3个回复)

沙发

dcmplx

板凳

恩,谢谢你的解答。也算在你的引导下,发现写为:u=cmplx(b,d,8)也可以。

3 楼

cmplx你可以查查他的函数参数, cmplx(a,b, 'kind')最后一个参数就是精度, 你也可以写详细一点:
u=cmplx(b,d,kind=8)

我来回复

您尚未登录,请登录后再回复。点此登录或注册