Float.POSITIVE_INFINITY和Float.MAX_VALUE有什么区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Float.POSITIVE_INFINITY和Float.MAX_VALUE有什么区别?相关的知识,希望对你有一定的参考价值。

Float.POSITIVE_INFINITYFloat.MAX_VALUE有什么区别?哪个更大?它们是一样的吗?

我遇到他们正在寻找一个比其他所有qazxsw poi更大的价值,或者除了最伟大的以外都没有。是否符合该标准?

谢谢!

答案

不,他们根本不是一回事。

float是可以用Float.MAX_VALUE表示的最大有限值。除了无穷大之外,您将找不到任何大于该值的值。但是你可以在它上面执行各种其他操作。

float是,无限。大多数涉及无穷大的操作都会以无穷大(正面或负面)结束。

例如:

Float.POSITIVE_INFINITY

输出:

public class Test 
    public static void main(String[] args) 
        testOperations(Float.MAX_VALUE);
        testOperations(Float.POSITIVE_INFINITY);
    

    public static void testOperations(float input) 
        System.out.println("input: " + input);
        System.out.println("input / 100: " + input / 100);
        System.out.println("input * 100: " + input * 100);
        System.out.println("-input: " + (-input));
        System.out.println();
    

另一答案

要回答您的具体问题:

我遇到他们正在寻找一个比其他所有浮动更大的值,或者除了最大的之外都没有失败。是否符合该标准?

是的,根据其定义,input: 3.4028235E38 input / 100: 3.4028236E36 input * 100: Infinity -input: -3.4028235E38 input: Infinity input / 100: Infinity input * 100: Infinity -input: -Infinity 是唯一大于Float.POSITIVE_INFINITYFloat。然而,就如何与数学运算相互作用而言,这是一个特殊情况。

来自javadoc:

Float.MAX_VALUE

保持float类型的正无穷大的常量。它等于Float.intBitsToFloat(0x7f800000)返回的值。

public static final float POSITIVE_INFINITY

一个常量,保持float类型的最大正有限值,(2-2-23)·2127。它等于十六进制浮点文字0x1.fffffeP + 127f,也等于Float.intBitsToFloat(0x7f7fffff)。

所以,正如你所看到的,根据非常字面的定义,public static final float MAX_VALUEPOSITIVE_INFINITY大一点。

就其效用而言,MAX_VALUE提供了一个值,您可以使用该值来识别其他有问题的数学表达式。 JDK源中使用的是POSITIVE_INFINITY。这个表达式的结果是1.0f / 0.0f,表明你已经超过了合理数学的上限,永远不会返回。给定两个常数POSITIVE_INFINITYPOSITIVE_INFINITY,您可以检查一般表达式是否已经离开了有用的Floats的边界,以及它是正门还是负门。

另一方面,NEGATIVE_INFINITY表示仍然可以应用正常数学运算的最大值。例如,MAX_VALUE是一个(略小)数字,比MAX_VALUE - 1.0E32。然而,MAX_VALUE仍然是POSITIVE_INFINITY - 1.0E32

另一答案

您可以在此处找到有关IEEE 754浮点值的更多详细信息:POSITIVE_INFINITY

以上是关于Float.POSITIVE_INFINITY和Float.MAX_VALUE有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章

操作系统 & 图论传参一个AOE图,得到按其拓扑排序及权值执行临界区代码的线程数组

C语言中*f和(*f)的区别?

分析 _mm_setzero_ps 和 0.0f,0.0f,0.0f,0.0f

AngularJS ng-if 与 'f' 和 'F' 的问题

`f()` 和 `new f()` 有啥区别? [复制]

从顶点数据中传入顶点位置和顶点颜色