如何在java中计算对数?

时间:2014-09-22 12:05:27

标签: java

我正在尝试编写一个可以获取值的Java程序,并将它们放入一个涉及log 1/3的公式中。

如何在Java中计算log 1/3?

5 个答案:

答案 0 :(得分:5)

您可以使用Math.log(value)获取特定值的日志,其中值被视为double。您还可以使用Math.log10(value)获取10日记录。

所以你可以使用

Math.log(1/3.0)

答案 1 :(得分:4)

当你想要计算对数时,你需要知道基数。一旦知道了基础,就可以进行计算:

log_b(x) = ln(x) / ln(b)

http://en.wikipedia.org/wiki/Logarithm#Change_of_base

在Java中,Math#log(double)函数计算自然对数。因此,您可以使用它来计算给定基数b的对数:

double result = Math.log(x) / Math.log(b);

答案 2 :(得分:2)

1/3产生的结果为整数类型值。因此,结果将为0,而不是0.3333。

因此,Math.log(1/3)= Math.log(0),导致无穷大。

因此,您需要编写Math.log(1 / 3.0)以获得所需的结果。

答案 3 :(得分:1)

您可以使用Java.lang.Math.log()方法计算自然对数:

System.out.println("Math.log(1/3.0)=" + Math.log(1/3.0));

请参阅http://www.tutorialspoint.com/java/lang/math_log.htmhttp://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#log%28double%29

为了获得log_10,你可以按照以下方式进行:

System.out.println("log_10(1/3.0)=" + (Math.log(1/3.0)/Math.log(10)));

答案 4 :(得分:0)

你不需要一个新的实现,这个

有内置函数

了解Math.log()

但在这种情况下,log(1/3)会为您提供infinity的价值,如果您使用Math.log(1/3)

您可以使用log规则,如下所示。

log(1/3) =log(1)-log(3)

现在

Math.log(1/3)=Math.log(1)-Math.log(3)

例如:

System.out.println(Math.log(1)-Math.log(3));

Out put:

-1.0986122886681098