gpt4 book ai didi

java - 如何避免大对数溢出

转载 作者:行者123 更新时间:2023-12-01 12:39:01 32 4
gpt4 key购买 nike

我正在尝试用 Java 计算一个大的对数,但无法弄清楚如何解决溢出问题。研究表明我需要使用 BigDecimal 类,但我不能将 double 类型转换为该类。有人可以帮忙吗?

干杯,这是我正在尝试计算的示例:Math.log10(13168375/4224127912)

最佳答案

您必须解释错误消息。

Y.java:16: error: integer number too large: 4224127912
System.out.println( Math.log10(13168375/4224127912) );
^

这意味着 4224127912 (!) 对于整数来说太大了。

你可以:

 Math.log10(13168375/4224127912.0)   // use a double literal

Math.log10((double)13168375/4224127912L) // use a long literal
Math.log10(13168375.0/4224127912L) // use a long literal

没有溢出!

这里没有对数是“大”的。

关于java - 如何避免大对数溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25293186/

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