Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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 - Fatal编程技术网

Java 获得最负双精度的正确方法

Java 获得最负双精度的正确方法,java,Java,这是获得Java中最负双精度的正确方法吗 double v = -Double.MAX_VALUE; 不,它是双精度的。负无穷大。假设你指的是最大的负非无限数,听起来是正确的,因为,对于中的浮点数(这是什么): 数字的大小存储在二进制文件的一部分中 数字的符号存储在二进制文件的单独部分 因此: 最大的可表示负数与最大的可表示正数相同,符号位翻转表示负数。那么(-Double.MAX_VALUE-1)为什么不等于负无穷大呢?对不起,我的注意力集中在整数上……正如前面指出的,浮点不使用2的修饰

这是获得Java中最负双精度的正确方法吗

double v = -Double.MAX_VALUE;

不,它是双精度的。负无穷大。

假设你指的是最大的负非无限数,听起来是正确的,因为,对于中的浮点数(这是什么):

  • 数字的大小存储在二进制文件的一部分中
  • 数字的符号存储在二进制文件的单独部分
因此:
最大的可表示负数与最大的可表示正数相同,符号位翻转表示负数。

那么(-Double.MAX_VALUE-1)为什么不等于负无穷大呢?对不起,我的注意力集中在整数上……正如前面指出的,浮点不使用2的修饰语。大小写字符如何?最大正字符数是127,但最大负字符数是-128,而不是-127。这是double的特例吗?它是float和double的特例,这些类型在后台使用IEEE浮点表示。各种整数类型(其中字节可以被视为一个)使用2s补码。我相信它们都有一个“MIN_VALUE”字段,你可以用它来获得它们的最大负值。Rhsegar的coment怎么样?它是有效的双精度吗?是的,它是一个定义良好的IEEE 754双精度值。Double.NEGATIVE_无穷大小于-Double.MAX_值,根据定义,有两种可能的方法来解释“最负的Double”。一个是负无穷大。。。最大可能的加倍。第二个是最大可能的可表示的双,这是我的文章所描述的。这是切线但有趣的一个——为什么你不认为负无穷大是可表示的?肯定有这样一个双精度。@RHSeeger,如果用“数字”代替“双精度”,我会同意的。但由于无穷大是“double”包含的一个值,而原始问题要求double,所以一切都可以;)