Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获得架构支持的最小下一个或上一个可能的双值?_Java_Floating Point - Fatal编程技术网

Java 如何获得架构支持的最小下一个或上一个可能的双值?

Java 如何获得架构支持的最小下一个或上一个可能的双值?,java,floating-point,Java,Floating Point,假设我有一个double变量d。是否有一种方法可以获取CPU体系结构支持的下一个或上一个值 作为一个简单的例子,如果该值为10.1245125,并且体系结构的精度固定为小数点后7位,那么下一个值将为10.1245126,上一个值将为10.1245124 显然,在浮点体系结构上,这并没有那么简单。我怎样才能实现这一点(在Java中)?事实上,IEEE 754浮点体系结构使这一点变得很容易:多亏了该标准,几乎所有支持该函数的语言都调用了该函数,这种一致性使我能够在不太熟悉Java的情况下为您的问题编

假设我有一个
double
变量
d
。是否有一种方法可以获取CPU体系结构支持的下一个或上一个值

作为一个简单的例子,如果该值为10.1245125,并且体系结构的精度固定为小数点后7位,那么下一个值将为10.1245126,上一个值将为10.1245124


显然,在浮点体系结构上,这并没有那么简单。我怎样才能实现这一点(在Java中)?

事实上,IEEE 754浮点体系结构使这一点变得很容易:多亏了该标准,几乎所有支持该函数的语言都调用了该函数,这种一致性使我能够在不太熟悉Java的情况下为您的问题编写一个答案:

java.lang.Math.nextAfter(双起点,双向)
返回第二个参数方向上与第一个参数相邻的浮点数

请记住,-infinity和+infinity是浮点值,这些值便于给出方向(第二个参数)。不要犯一些常见的错误,比如写
Math.nextAfter(x,x+1)
,它只在1大于
x
时才起作用


任何写上述内容的人可能都是指
Math.nextAfter(x,Double.POSITIVE _∞)
,它保存了一个加法并适用于
x

的所有值哦,我错过了这个函数!非常感谢!有关更多便利信息,请参见和。