- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
任何人都可以解释一下为什么 Double.MIN_VALUE
实际上并不是 Doubles 可以采用的最小值吗?它是一个正值,Double 当然可以是负值。
我明白为什么它是一个有用的数字,但它似乎是一个非常不直观的名称,特别是与 Integer.MIN_VALUE
相比。将其称为 Double.SMALLEST_POSITIVE
或 MIN_INCRMENT
或类似名称将具有更清晰的语义。
另外, double 可以取的最小值是多少?是-Double.MAX_VALUE
吗?文档似乎没有说。
最佳答案
IEEE 754 格式保留一位用于符号,其余位表示幅度。这意味着它围绕 origo “对称”(与整数值相反,整数值多一个负值)。因此,最小值与最大值相同,但符号位翻转,因此是,-Double.MAX_VALUE
是可以用 double
表示的最小实际数字。
我认为 Double.MAX_VALUE
应该被视为最大值,在这种情况下,简单地编写 -Double.MAX_VALUE
实际上是有意义的。它还解释了为什么 Double.MIN_VALUE
是最小的正值(因为它代表最小可能的大小)。
但是,我同意这个命名有点误导。由于习惯了 Integer.MIN_VALUE
的含义,当我读到 Double.MIN_VALUE
是可以表示的最小绝对值时,我也感到有点惊讶。也许他们认为用一个表示最小可能值的常量是多余的,因为它与 MAX_VALUE
之间只有 -
距离:-)
(注意,还有 Double.NEGATIVE_INFINITY
但我忽略了这一点,因为它被视为“特殊情况”,实际上并不代表任何实际数字。)
Here是关于该主题的好文章。
关于java - 为什么 Double.MIN_VALUE 不是负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45910909/
我意识到下面的代码是正确的 Integer.MIN_VALUE == -Integer.MIN_VALUE == Math.abs(Integer.MIN_VALUE) 这是因为当我们取反-21474
我创建了一个包含以下字段的 Interval 类: ... private static final Integer MINF = Integer.MIN_VALUE; Integer head,ta
在 Java 中,当我说 Integer i = Math.abs(Integer.MIN_VALUE) 时。我得到与答案相同的值,这意味着 i 包含 Integer.MIN_VALUE。我也在 C+
我遇到以下问题。 我使用哈希表将一些数据存储在内存中(来自数据库查询): Map 其中 MyObject 由 3 个数组组成:float[]、int[] 和 double[]。我使用 Float.MI
我正在用 Javascript 编写一个简单的函数,它返回数字数组中最大的数字,并且我有一堆测试数据,但我一辈子都无法弄清楚为什么其中 2 个测试失败了。 我最大的列表函数: function lar
我明天有一个测试,我无法理解我的书籍解释,我感谢您的帮助: public class TestClass{ public static void main(String[] args) t
Integer.MIN_VALUE 在 Java 中的二进制表示是 100000000000000000000000000000000。 为什么不是 1000000000000000000000000
我知道有一个技巧可以使用反射来更改 static final 字段的值,并考虑在 Long 上尝试它 Field field = Long.class.getField("MIN_VALUE"
我有以下代码,但当 mutuaInformation 为零时它不会通过 if。知道出了什么问题吗? int largestEntropyIndex = Integer.MIN_VALU
根据 MDN , MIN_VALUE 是最接近 0 的值,任何小于它的值都被认为是 0。 不过,我正试图找到一个合适的例子来解释它的实际用法。 MDN 使用了以下示例 - if (num1 / num
我明天要考试,我看不懂我书上的解释,感谢帮助: public class TestClass{ public static void main(String[] args) throws
在 Java 中 int 类型是有符号的,但它有 a method比较两个整数,就好像它们是无符号的一样: public static int compareUnsigned(int x, int y
好吧,也许我只是因为这个而累了,但我怎样才能做到这一点? int x = Integer.MAX_VALUE+10; //或者也许 int x = Integer.MIN_VALUE-20; 我只是想
为什么这行代码很重要?(没有它我会得到错误的答案) if (dividend == Integer.MIN_VALUE && divisor == -1) { return Integer.M
任何人都可以解释一下为什么 Double.MIN_VALUE 实际上并不是 Doubles 可以采用的最小值吗?它是一个正值,Double 当然可以是负值。 我明白为什么它是一个有用的数字,但它似乎是
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
这个问题在这里已经有了答案: Math.abs returns wrong value for Integer.Min_VALUE (8 个答案) 关闭 7 年前。 考虑下面的 java 代码。 I
这些值在 java 中如何相同? -Integer.MIN_VALUE == Integer.MIN_VALUE 值是: -2147483648 : -2147483648 我尝试比较它并返回 tru
以下内容也适用于其他 MIN_VALUE 和 MAX_VALUE,但我们现在只关注 Integer。我知道在 Java 中整数是 32 位的,Integer.MAX_VALUE = 214748364
https://leetcode.com/problems/balanced-binary-tree/ Given a binary tree, determine if it is height-b
我是一名优秀的程序员,十分优秀!