假设我有以下程序:
program derp
implicit none
integer, parameter :: ikind = selected_real_kind(18)
real (kind = ikind) :: a = 2.0 / 3.0
print*, a
end program derp
程序derp
输出0.6666666865348815917
,这显然不是 18 位精度。但是,如果我定义a=2.0
并b=3.0
使用相同的方法,然后定义c=a/b
,我会得到 的输出0.666666666666666666685
,这很好。如何将变量定义为整数的商并让它存储我想要的所有精度数字selected_real_kind
?