zy_cd 发表于 2022-9-9 10:11:49

复型变量的赋值问题

我定义了一个双精度的复型变量    COMPLEX*16 T,看书上定义双精度复数存储开销为16字节,实部虚部各8字节,其范围为两个双精度实数范围。但是实际运行过程中发现,当实部或虚部输入数据超过10的38次方时,显示“infinity”,也就是实际运行实部、虚部相当于只有4字节。请问为什么会出现这种情况呢?

zy_cd 发表于 2022-9-9 10:22:10


PROGRAM MAIN
COMPLEX*16 T
DOUPLE PRECISION A,B
OPEN(10,FILE='INPUT.TXT',STATUS='OLD')
READ(10,*)A,B
T=CMPLX(A,B)
WRITE(*,*)T,A,B
END PROGRAM

li913 发表于 2022-9-9 10:58:02

T=CMPLX(A,B,8)另外,不建议用 complex*16,改用 complex(8)

zy_cd 发表于 2022-9-9 11:06:48

li913 发表于 2022-9-9 10:58
T=CMPLX(A,B,8)另外,不建议用 complex*16,改用 complex(8)

已解决,太感谢您了,上一个求助贴也是您回复的。因为需要计算的数据里很多都特别大,所以用的CMPLX*16,请问为什么不建议用16字节的呢?

li913 发表于 2022-9-9 11:12:47

ivf中,complex*16等同complex(8),后者是标准。

zy_cd 发表于 2022-9-9 16:05:43

li913 发表于 2022-9-9 11:12
ivf中,complex*16等同complex(8),后者是标准。

多谢指教!
页: [1]
查看完整版本: 复型变量的赋值问题