Java双epsilon
发布时间:2020-12-14 05:18:54 所属栏目:Java 来源:网络整理
导读:我目前需要一个类型为double的 epsilon(首选是java库中的常量,而不是自己的实现/定义) 据我所见,Double有MIN_VALUE和MAX_VALUE作为静态成员. 为什么没有EPSILON? 什么是epsilon double是? 与std :: numeric_limits double :: epsilon()? Epsilon:1与数据
我目前需要一个类型为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)的返回值)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |