作者sjgau (sjgau)
看板Fortran
标题Re: [问题] 有关最大位数及其精度
时间Tue Sep 21 11:07:25 2010
implicit none
上面的这行指令的意思是,每一个变数
在使用之前都要事先宣告。
底下有对照,你的程式 A1D4,
要改成
A1*1.0D4
你再试试看
program VF1055
implicit none
REAL*8 N,NI,A1,A2
N=0.9988
NI=0.8777
A1=N/NI
! A2=-11.033*A1D4 +83.507*A1D3 -246.59*A1D2 +348.69*A1-281.23
A2=-11.033*A1*1.0D4+83.507*A1*1.0D3-246.59*A1*1.0D2+348.69*A1-281.23
WRITE(*,*) A1,' ',A2
end program VF1055
!
-----------------------------------------------------------------------------
!dec$if (.false.)
1.13797426508089 -58469.6160667529
Hello World at 10:57
Press any key to continue
!
-----------------------------------------------------------------------------
--------------------Configuration: VF1055 - Win32 Debug--------------------
Compiling Fortran...
D:\VF1055\VF1055.f90
D:\VF1055\VF1055.f90(26) : Error: This name does not have a type, and must
have an explicit type. [A1D4]
A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23
-----------------^
D:\VF1055\VF1055.f90(26) : Error: This name does not have a type, and must
have an explicit type. [A1D3]
A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23
-----------------------------^
D:\VF1055\VF1055.f90(26) : Error: This name does not have a type, and must
have an explicit type. [A1D2]
A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23
-----------------------------------------^
Error executing df.exe.
VF1055.exe - 3 error(s), 0 warning(s)
!dec$endif
※ 引述《randomno (随便)》之铭言:
: 请问各位先进
: PROGRAM CAL
: REAL*8 N,NI,A1,A2
: N=0.9988
: NI=0.8777
: A1=N/NI
: A2=-11.033*A1D4+83.507*A1D3-246.59*A1D2+348.69*A1-281.23
: WRITE(*,*) A1,' ',A2
: STOP
: END
: 这是程式简化出来的一部份
: 有关A2的运算
: 经过程式计算出来的值是115.570237291540
: 但是用计算机算出来的值是-99.20147809
: 请问这个问题是跟精度有关吗?
: 我该如何解决这个问题?
--
e-mail:
[email protected]
我的课程介绍网页:
http://www.csie.ntu.edu.tw/train/teacher_display.php?num=18
AutoCAD 台湾地区菁英讲师获选
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.20.191.193