Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中计算对数?_Java - Fatal编程技术网

如何在java中计算对数?

如何在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))); 你不需要一个新

我正在尝试编写一个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)));

你不需要一个新的实现,它有一个内置的函数

了解

但是在这种情况下,如果您使用
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);