gpt4 book ai didi

Java双除正

转载 作者:行者123 更新时间:2023-12-04 11:50:59 25 4
gpt4 key购买 nike

为什么这个java代码产生正无穷大?

    double d = 10.0 / -0; 

System.out.println(d);
if (d == Double.POSITIVE_INFINITY)
System.out.println("Positive Infinity");
else
System.out.println("Negative Infinity");

最佳答案

虽然 double区分正负零,int才不是。因此,当您转换 int 时值为 0 到 double ,你总是得到“正零”。-0int ,其值为 0。
除以“负零”得到负无穷大。为此,您需要将除数指定为 double (不是 int ):

    double d = 10.0 / -0.0;

System.out.println(d);
if (d == Double.POSITIVE_INFINITY) {
System.out.println("Positive Infinity");
} else {
System.out.println("Different from Positive Infinity");
}
if (d == Double.NEGATIVE_INFINITY) {
System.out.println("Negative Infinity");
} else {
System.out.println("Different from Negative Infinity");
}
输出:
-Infinity
Different from Positive Infinity
Negative Infinity

关于Java双除正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69140066/

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