Fortran Coder

查看: 10855|回复: 4
打印 上一主题 下一主题

[数值问题] 在用数值中的元素作运算时-1.084202172485504E-019不是零

[复制链接]

28

帖子

10

主题

0

精华

熟手

F 币
140 元
贡献
81 点
跳转到指定楼层
楼主
发表于 2021-4-28 20:24:42 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
运算的代码如下:
[Fortran] 纯文本查看 复制代码
integer, parameter::dp=selected_real_kind(p=15,r=307)
real(kind=dp) ye(4),ze(4)
real(kind=dp) a
ye=(/-0.03_dp,-0.03_dp,-0.03_dp,-0.0265_dp/)
ze=(/-0.03_dp,-0.03_dp,-0.03_dp,-0.0265_dp/)
a=ye(3)*ze(2)+ye(2)*ze(4)+ye(4)*ze(3)-ye(3)*ze(4)-ye(2)*ze(3)-ye(4)*ze(2)b=ye(1)*ze(4)+ye(4)*ze(2)+ye(2)*ze(1)-ye(1)*ze(2)-ye(4)*ze(1)-ye(2)*ze(4)


得出的结果是:
a=-1.084202172485504E-019
b=0.000000000000000E+000


为什么不都是0呢?



分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

28

帖子

10

主题

0

精华

熟手

F 币
140 元
贡献
81 点
沙发
 楼主| 发表于 2021-4-28 21:15:57 | 显示全部楼层

那这个误差会影响后面的计算吗?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-16 10:44

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表