Fortran Coder

查看: 2441|回复: 5
打印 上一主题 下一主题

[求助] 复型变量的赋值问题

[复制链接]

13

帖子

3

主题

0

精华

入门

F 币
55 元
贡献
31 点
跳转到指定楼层
楼主
发表于 2022-9-9 10:11:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我定义了一个双精度的复型变量    COMPLEX*16 T,看书上定义双精度复数存储开销为16字节,实部虚部各8字节,其范围为两个双精度实数范围。但是实际运行过程中发现,当实部或虚部输入数据超过10的38次方时,显示“infinity”,也就是实际运行实部、虚部相当于只有4字节。请问为什么会出现这种情况呢?

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

13

帖子

3

主题

0

精华

入门

F 币
55 元
贡献
31 点
沙发
 楼主| 发表于 2022-9-9 10:22:10 | 只看该作者

[Fortran] 纯文本查看 复制代码
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


796

帖子

2

主题

0

精华

大宗师

F 币
3787 元
贡献
2266 点
板凳
发表于 2022-9-9 10:58:02 | 只看该作者
T=CMPLX(A,B,8)另外,不建议用 complex*16  ,改用 complex(8)

13

帖子

3

主题

0

精华

入门

F 币
55 元
贡献
31 点
地板
 楼主| 发表于 2022-9-9 11:06:48 | 只看该作者
li913 发表于 2022-9-9 10:58
T=CMPLX(A,B,8)另外,不建议用 complex*16  ,改用 complex(8)

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

796

帖子

2

主题

0

精华

大宗师

F 币
3787 元
贡献
2266 点
5#
发表于 2022-9-9 11:12:47 | 只看该作者
ivf中,complex*16等同complex(8),后者是标准。

QQ截图20220909110452.png (133.03 KB, 下载次数: 126)

QQ截图20220909110452.png

评分

参与人数 1F 币 +3 收起 理由
fcode + 3

查看全部评分

13

帖子

3

主题

0

精华

入门

F 币
55 元
贡献
31 点
6#
 楼主| 发表于 2022-9-9 16:05:43 | 只看该作者
li913 发表于 2022-9-9 11:12
ivf中,complex*16等同complex(8),后者是标准。

多谢指教!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-19 12:45

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表