需求
java 中对数 log 如何计算?
解决
直接使用 Math.log
即可,唯一需要注意的是 底数是多少?
自然对数 e
double x = Math.log(10);
底数 10
double x = Math.log10(100);
其他底数
数学换底公式: logx(y) = ln(y) / ln(x)
库函数:
public class Logarithm {
public static double log(double value, double base) {
return Math.log(value) / Math.log(base);
}
}
计算以33为底27的对数:
public static void main(String[] args) {
double log = log(27, 33);
System.out.println(log);
}
private static double log(double value, double base) {
return Logarithm.log(value) / Math.log(base);
}