我处在一种情况,我需要计算像log(1/1400)这样的东西。我在java中尝试过Math.log方法,但没有运气。实际上我们如何在java中计算这样的东西呢?我也试过Math.log1p,因为它给出了1 + x的日志值,x是小数字,根本没有运气。但是当我们使用科学计算器时,我们可以很容易地计算log(1/1400)或ln(1/1400)。
答案 0 :(得分:1)
当除以1/1400时得到0,因为当参数为整数时,java使用整数除法。
Math.log(((double) 1)/1400);
答案 1 :(得分:0)
您可以使用Math.log(double d)
来计算大于0的所有实数的值。您的问题是,当您将整数直接除以整数时执行整数除法。
double val = 1/1400;
将评估为0。
double val = ((double)1)/2;
将评估为0.5的真实值。