如何在java中计算对数?
我正在尝试编写一个Java程序,它可以获取值并将它们放入一个涉及log 1/3的公式中 如何在Java中计算日志1/3?您可以使用来获取特定值的日志,其中值被视为在如何在java中计算对数?,java,Java,我正在尝试编写一个Java程序,它可以获取值并将它们放入一个涉及log 1/3的公式中 如何在Java中计算日志1/3?您可以使用来获取特定值的日志,其中值被视为在双精度中。您还可以使用来获取基数为10的日志 所以你可以用 可以使用Java.lang.Math.log()方法计算自然对数: 看到和 要获取日志_10,您可以按如下方式执行: System.out.println("log_10(1/3.0)=" + (Math.log(1/3.0)/Math.log(10))); 你不需要一个新
双精度中。您还可以使用来获取基数为10的日志
所以你可以用
可以使用Java.lang.Math.log()方法计算自然对数:
看到和
要获取日志_10,您可以按如下方式执行:
System.out.println("log_10(1/3.0)=" + (Math.log(1/3.0)/Math.log(10)));
你不需要一个新的实现,它有一个内置的函数
了解
但是在这种情况下,如果您使用Math.log(1/3)
,则log(1/3)
将为您提供无穷大的值
您可以使用log
规则,如下所示
log(1/3) =log(1)-log(3)
现在
例如:
输出:
-1.0986122886681098
当你想计算对数时,你需要知道基数。知道基准后,即可执行计算:
log_b(x) = ln(x) / ln(b)
在Java中,该函数计算自然对数。所以你可以用它来计算给定基数b的对数:
double result = Math.log(x) / Math.log(b);
1/3以整型值的形式生成结果。因此,结果将是0,而不是0.3333
因此,Math.log(1/3)=Math.log(0),结果是无穷大
因此,您需要编写Math.log(1/3.0)以获得所需的结果。是否需要自然对数?所以,你应该看看OP的观点是否正确。他在问如何计算日志(1/3)
。你试过Math.log(1/3)
?我用过,但当我计算这个:Math.log(5/2.0)时,结果是0.9162907318741551,但当我用计算器计算时,结果是0.3979xxxx,为什么会不同?你是在使用计算器上的ln
还是log
按钮?@MuhammadHaryadiFutra只需在谷歌中输入ln2.5和log2.5。您将看到这两个数字。为什么结果与计算器的结果不同?您需要知道要使用哪个对数。如果它是10
的底部,则需要将b
设置为10
。您的计算器可能使用e
作为基础b
,因此这将是自然对数。
System.out.println(Math.log(1)-Math.log(3));
-1.0986122886681098
log_b(x) = ln(x) / ln(b)
double result = Math.log(x) / Math.log(b);