Fortran Coder

查看: 22769|回复: 14
打印 上一主题 下一主题

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

[复制链接]

86

帖子

36

主题

0

精华

专家

F 币
353 元
贡献
221 点
跳转到指定楼层
楼主
发表于 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



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

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

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

沙发
发表于 2017-8-13 15:22:12 | 只看该作者
0. 請參考: scientific-natation.pdf (96.97 KB, 下载次数: 24)
1. 請研讀網站教學視頻
2. 如果意猶未盡: chap-11 [Type Parameters].pdf (1.37 MB, 下载次数: 26)

86

帖子

36

主题

0

精华

专家

F 币
353 元
贡献
221 点
板凳
 楼主| 发表于 2017-8-13 15:41:51 | 只看该作者
本帖最后由 shrine 于 2017-8-13 15:43 编辑

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


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

130

帖子

10

主题

0

精华

大师

F 币
617 元
贡献
372 点

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

地板
发表于 2017-8-13 15:49:49 | 只看该作者
"下划线"後的number名為kind number, "literal"形式的kind number是compiler dependent, 不建議使用

86

帖子

36

主题

0

精华

专家

F 币
353 元
贡献
221 点
5#
 楼主| 发表于 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,然后下划线后面跟一个常量?

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
6#
发表于 2017-8-13 16:24:57 | 只看该作者
是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP

86

帖子

36

主题

0

精华

专家

F 币
353 元
贡献
221 点
7#
 楼主| 发表于 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 ...

谢谢!!!!!

86

帖子

36

主题

0

精华

专家

F 币
353 元
贡献
221 点
8#
 楼主| 发表于 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应该写成什么?

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
9#
发表于 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

86

帖子

36

主题

0

精华

专家

F 币
353 元
贡献
221 点
10#
 楼主| 发表于 2017-10-25 11:06:17 | 只看该作者
vvt 发表于 2017-8-14 08:23
的确是笔误,应该是
Integer , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP ...

整数转化成QP精度的实数用什么符号?

比如i是整数
dble(i)是双精度

把i转成QP精度呢?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-24 01:29

Powered by Tencent X3.4

© 2013-2024 Tencent

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