dba*_*ton 3 java floating-point
是否有内置方法在Java中查找下一个最大的双数?
在编写测试时,我有时想要验证操作是否成功,x但是对于大于的值,则失败x.一种方法是显示操作失败x + eps.但eps必须考虑到价值,x以避免问题180 + 1e-15 == 180.
要自动选择eps,我想找到大于的最小可表示数x.我很惊讶我没有找到标准的库方法,所以我写了以下内容:
public static double nextDouble(double d) {
if (d < 0) {
return -prevDouble(Math.abs(d));
} else {
return Double.longBitsToDouble(Double.doubleToLongBits(d) + 1);
}
}
public static double prevDouble(double d) {
if (d < 0) {
return -nextDouble(-d);
} else {
return Double.longBitsToDouble(Double.doubleToLongBits(d) - 1);
}
}
Run Code Online (Sandbox Code Playgroud)
我应该使用这些自定义功能,还是有可用的内置方法?
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |