找回密码
 注册
Simdroid-非首页
查看: 75|回复: 3

【求助】除法出现误差

[复制链接]
发表于 2011-10-7 02:20:03 | 显示全部楼层 |阅读模式 来自 美国
本帖最后由 genius_cc 于 2011-10-7 02:20 编辑

第一次来MATLAB版。
有个简单的除法 600e-6/100e-6,按理说答案是6,但是如果在fomat long下面,答案却是5.9999999999.
不知道为什么?是我机器的问题还是关于精度设置的问题~~
现在不得已用round函数四舍五入了,但是非常纳闷儿~
希望高手解答。感谢
发表于 2011-10-8 08:44:23 | 显示全部楼层 来自 山东济南
Simdroid开发平台
这个是很奇怪啊,我也经常遇到这样的问题

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-10-10 10:07:13 | 显示全部楼层 来自 美国
没回答TT .不知有没有高手知道这个问题的原因,自己顶一个~谢谢
回复 不支持

使用道具 举报

发表于 2011-10-10 15:05:21 | 显示全部楼层 来自 河北廊坊
这是计算机二进制产生的绝症,两个数据在存储的时候并不是 完全等于600e-6和100e-6这两个数的。另外计算过程中也会发生截断误差。你换个操作系统,换个计算软件的话也还是这样。

解决方法:尽量不要用特别小的数做分母。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-4 15:34 , Processed in 0.032840 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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