Java双epsilon

前端之家收集整理的这篇文章主要介绍了Java双epsilon前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前需要一个类型为double的 epsilon(首选是java库中的常量,而不是自己的实现/定义)
据我所见,Double有MIN_VALUE和MAX_VALUE作为静态成员.
为什么没有EPSILON?
什么是epsilon< double>是?
与std :: numeric_limits< double> :: epsilon()?

Epsilon:1与数据类型可表示的大于1的最小值之间的差值.

解决方法

我假定你的意思是在值的错误意义上的epsilon.即 this.

如果是这样,那么在Java中它被称为ULP(最后单位).您可以使用java.lang.Math包和Math.ulp()方法找到它.见javadocs here.

该值不会作为静态成员存储,因为它将根据您所关心的双倍而不同.

编辑:按照OP的定义,现在在这个问题上,值为1.0的双倍的ULP是2.220446049250313E-16表示为双倍. (即Math.ulp(1.0)的返回值))

猜你在找的Java相关文章