我正在尝试编写一个可以获取值的Java程序,并将它们放入一个涉及log 1/3的公式中。
如何在Java中计算log 1/3?
答案 0 :(得分:5)
答案 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.htm和http://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)
你不需要一个新的实现,这个
有内置函数但在这种情况下,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