non*_*ion 18 java floating-point
我目前需要一个类型的epsilondouble(首选是java库中的常量而不是自己的实现/定义)
至于我可以看到Double有MIN_VALUE和MAX_VALUE静态成员.
为什么没有EPSILON?
会epsilon<double>是什么?
是否有任何差异std::numeric_limits< double >::epsilon()?
Epsilon:1和大于1的最小值之间的差异,可以表示数据类型.
Sma*_*n2k 18
我认为你的意思是价值错误意义上的epsilon.就是这个.
如果是这样,那么在Java中它被称为ULP(最后一个单位).您可以使用java.lang.Math包和Math.ulp()方法找到它.在这里查看javadocs.
该值不会存储为静态成员,因为它会根据您所关注的双精度而有所不同.
编辑:根据OP现在在问题中对epsilon的定义,值为1.0的双倍的ULP是2.220446049250313E-16,表示为double.(即返回值Math.ulp(1.0).)