Fortran Coder

查看: 167|回复: 8

[数值问题] 请问双双精度变量赋值时后缀加什么?

[复制链接]

41

帖子

13

主题

0

精华

熟手

F 币
165 元
贡献
99 点
发表于 2017-8-13 10:08:37 | 显示全部楼层 |阅读模式
本帖最后由 shrine 于 2017-8-13 10:30 编辑

双精度变量赋值时,后缀加d
real(8)::a=16.d0

请问双双精度赋值时后缀加什么
real(16)::b

不加后缀的话会出现如下错误

[Fortran] 纯文本查看 复制代码
      program main
      implicit none
      real(16)::a
      real(8)::b
      real(8)::c
      
      a=1.2d0
      b=1.2d0
      c=1.2
      
      write(*,*)a
      write(*,*)b
      write(*,*)c
      end


捕获.PNG
回复

使用道具 举报

61

帖子

2

主题

0

精华

版主

F 币
329 元
贡献
208 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

发表于 2017-8-13 15:22:12 | 显示全部楼层
0. 請參考: scientific-natation.pdf (96.97 KB, 下载次数: 8)

41

帖子

13

主题

0

精华

熟手

F 币
165 元
贡献
99 点
 楼主| 发表于 2017-8-13 15:41:51 | 显示全部楼层
本帖最后由 shrine 于 2017-8-13 15:43 编辑

刚刚在intel的论坛得到了答案,应该是
[Fortran] 纯文本查看 复制代码
real(16)::a
a=1.2_16


好像看不清,就是数值后面加个下划线
谢谢楼上

61

帖子

2

主题

0

精华

版主

F 币
329 元
贡献
208 点

贡献勋章管理勋章帅哥勋章元老勋章星光勋章规矩勋章

发表于 2017-8-13 15:49:49 | 显示全部楼层
"下划线"後的number名為kind number, "literal"形式的kind number是compiler dependent, 不建議使用

41

帖子

13

主题

0

精华

熟手

F 币
165 元
贡献
99 点
 楼主| 发表于 2017-8-13 16:00:21 | 显示全部楼层
本帖最后由 shrine 于 2017-8-13 16:02 编辑
chiangtp 发表于 2017-8-13 15:49
"下划线"後的number名為kind number, "literal"形式的kind number是compiler dependent, 不建議使用 ...

推荐使用先定义个常量selected_real_kind,然后下划线后面跟一个常量?

452

帖子

0

主题

0

精华

大师

F 币
926 元
贡献
437 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2017-8-13 16:24:57 | 显示全部楼层
是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP

41

帖子

13

主题

0

精华

熟手

F 币
165 元
贡献
99 点
 楼主| 发表于 2017-8-13 19:05:19 | 显示全部楼层
vvt 发表于 2017-8-13 16:24
是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP ...

谢谢!!!!!

41

帖子

13

主题

0

精华

熟手

F 币
165 元
贡献
99 点
 楼主| 发表于 2017-8-14 07:04:51 | 显示全部楼层
本帖最后由 shrine 于 2017-8-14 08:05 编辑
vvt 发表于 2017-8-13 16:24
是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP ...

Integer , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP ...

笔误
相应的,dsqrt应该写成什么?

452

帖子

0

主题

0

精华

大师

F 币
926 元
贡献
437 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2017-8-14 08:23:28 | 显示全部楼层
的确是笔误,应该是
Integer , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP

不写 dsqrt ,直接写 sqrt 即可,它适用于任何kind值。
详解 http://whyd.w.fcode.cn
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|QQ群|Fcode

GMT+8, 2017-10-19 17:09

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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