请问双双精度变量赋值时后缀加什么?
本帖最后由 shrine 于 2017-8-13 10:30 编辑双精度变量赋值时,后缀加d
real(8)::a=16.d0
请问双双精度赋值时后缀加什么
real(16)::b
不加后缀的话会出现如下错误
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
0. 請參考:
1. 請研讀網站教學視頻
2. 如果意猶未盡:
本帖最后由 shrine 于 2017-8-13 15:43 编辑
刚刚在intel的论坛得到了答案,应该是
real(16)::a
a=1.2_16
好像看不清,就是数值后面加个下划线
谢谢楼上
"下划线"後的number名為kind number, "literal"形式的kind number是compiler dependent, 不建議使用 本帖最后由 shrine 于 2017-8-13 16:02 编辑
chiangtp 发表于 2017-8-13 15:49
"下划线"後的number名為kind number, "literal"形式的kind number是compiler dependent, 不建議使用 ...
推荐使用先定义个常量selected_real_kind,然后下划线后面跟一个常量? 是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP vvt 发表于 2017-8-13 16:24
是的,就像这样
Real , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP ...
谢谢!!!!! 本帖最后由 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应该写成什么?
的确是笔误,应该是
Integer , parameter :: QP = Selected_real_kind( 18 )
Real(Kind=QP) :: a = 3.14_QP
不写 dsqrt ,直接写 sqrt 即可,它适用于任何kind值。
详解 http://whyd.w.fcode.cn 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精度呢?
页:
[1]
2