fortran中,我写了一个1/x的程序,为什么在1/0.00001的时候会不准确呢?我用的是do

fortran中,我写了一个1/x的程序,为什么在1/0.00001的时候会不准确呢?我用的是doubleprecision,下面是数据... fortran中,我写了一个1/x的程序,为什么在1/0.00001的时候会不准确呢?我用的是double precision,下面是数据 展开
 我来答
匿名用户
推荐于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在对称区间积分应该是零的,但我积出来都大于一了…
怎么才能做到没有误差呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式