当前位置:  开发笔记 > 编程语言 > 正文

EPS在C中意味着什么?

如何解决《EPS在C中意味着什么?》经验,为你挑选了2个好方法。

我有以下代码片段:

if (ABS(p43.x)  < EPS && ABS(p43.y)  < EPS && ABS(p43.z)  < EPS) return(FALSE);

我正在尝试转换为C#."EPS"是什么意思?

此代码来自http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline3d/



1> Jon Skeet..:

这将是某种形式的epsilon来确定这个数字是否"足够小以至于无关紧要".#define在这种情况下,确切的值看起来像某个地方.



2> S.Lott..:

EPS是epsilon."足够接近"的因素.

问题是"绝对值是否足够接近?" "足够接近"是一些小数字,通常是类似的1.0E-3.

根据算法如何收敛于答案,性能可能取决于EPS的大小.小心EPS太小,因为你的过程可能会运行几个小时(或几个世纪),并没有产生真正有用的答案.

在这种情况下 - 没有循环的地方 - 使用EPS,因为浮点数在乘法过程中会累积很小的误差.你不能简单地说

a == b

总的来说它是真的.相反,我们总是说

abs( a-b ) <= EPS

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有