gpt4 book ai didi

java - 无法理解 Math.min(0,-0) 的输出

转载 作者:行者123 更新时间:2023-11-29 07:47:51 24 4
gpt4 key购买 nike

根据以下链接,http://www.tutorialspoint.com/java/lang/math_min_int.htm

在java的Math.min()方法中,如果一个参数为正零,另一个为负零,则结果为负零。但是当我尝试声明
System.out.println(Math.min(0,-0));
我得到了结果 0(正零)。不应该是-0(负零)吗?如果不是,那为什么呢?

最佳答案

您链接的页面讨论了 Math.minint 版本,但它讨论了几个仅限 float 的概念,包括无穷大、NaN 和负数零。这是该页面中的一个错误。

整数类型不区分正负零,所以即使你做System.out.println(-0);没有min,它也会显示0。浮点类型 floatdouble 确实有单独的正零值和负零值。如果您将 fd 后缀添加到值,使它们成为 floatdouble 类型,您将得到你期望的负零结果:

System.out.println(Math.min(0f, -0f));

如果你查看真实文档,你会发现 Math.min(int, int) 之间的区别和 Math.min(float, float) .

关于java - 无法理解 Math.min(0,-0) 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com