fortran中,我写了一个1/x的程序,为什么在1/0.00001的时候会不准确呢?我用的是do
fortran中,我写了一个1/x的程序,为什么在1/0.00001的时候会不准确呢?我用的是doubleprecision,下面是数据...
fortran中,我写了一个1/x的程序,为什么在1/0.00001的时候会不准确呢?我用的是double precision,下面是数据
展开
1个回答
推荐于2016-05-11
展开全部
正常。例如:
Page 1
08-06-15
17:07:46
D Line# 1 7 Microsoft FORTRAN77 V3.31 August 1985
1 double precision x,y
2 x=-0.00001
3 y=1/x
4 write(*,*)x,y
5 end
Name Type Offset P Class
X REAL*8 32
Y REAL*8 40
Name Type Size Class
MAIN PROGRAM
Pass One No Errors Detected
5 Source Lines
Code Area Size = #0090 ( 144)
Cons Area Size = #0010 ( 16)
Data Area Size = #0030 ( 48)
Pass Two No Errors Detected.
-9.9999997473788E-006 -100000.00252621000000
更多追问追答
追问
为什么不是正正好好的-100000.000……呢?我要做积分,这样累计起来就会出现误差,我用的复化辛普森积的,1/x在对称区间积分应该是零的,但我积出来都大于一了…
怎么才能做到没有误差呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询