fortran f90如何定义双精度

2025-01-14 13:20:40
推荐回答(3个)
回答1:

1、首先在软件安装文件夹下,C/Studio/Common/MSDEV98/MACROS文件夹下生成文件GrpComment.dsm。

2、用文本编辑器打开该文件,将以下代码粘贴保存在其中,并保留.dsm后缀名。

3、启动Fortran,选Tools->Customize->Add-ins and Macro Files,在GrpComment前打勾,去掉其他的勾。

4、在同一对话框中选Commands->Macros,此时在右边可以看见CommentDel和CommentOut。

5、选中CommentOut,拖到CVF的工具栏上去(添加工具钮),会弹出Button Appearance对话框;同理选中CommentDel并拖动到工具栏,也会弹出该对话框。

6、结合自己的偏好选择不同的模式,最后点“OK”键就可以使用了。

回答2:

以定义一个双精度 s 为例
方法1:

DOUBLE PRECISION :: s
方法2:
Real(8) :: s
方法3:
Real( Kind = 8 ) :: s

但方法2,和方法3,并不能保证所有编译器都能够认可 8,不同编译器,对 8 的定义不同。

因此,最好的办法是方法4:
Integer , parameter :: NP = SELECTED_REAL_KIND(8)
Real( Kind = NP ) :: s

其中,SELECTED_REAL_KIND(8) 表示自动选择一种精度,使之能够精确到小数点后 8 位。这个精度叫 NP,然后定义一个 NP 精度的变量,叫 s
(在32位编译器上,NP 表示双精度)

回答3:

一楼回答的相当专业,另外我想补充一点:所谓双精度跟单精度,只能针对实数而言,对整数只有长整形,短整型,有些编译器或CPU可能还支持超短整型或超长整形,都是视情况而定的。