Java StrictMath log1p()方法
java.lang.StrictMath.log1p() 是Java中的一个内置方法,用于接受一个双倍值作为参数,并返回该参数与1之和的自然对数。
语法
public static double log1p(double x)
参数: 该函数接受一个双倍值x作为参数并计算(1+x)的自然算法。
返回值: 该方法返回值ln(1+x)。对于小值x, log1p(x)的结果几乎与ln(1+x)的实际结果一样接近,而不是log(1.0+x)的浮点运算。
以下是考虑的情况。
- 如果参数是正无穷大_ ,该函数返回正无穷大。
- 如果参数为负无穷大,该函数返回负无穷大。
- 如果参数为 NaN 或小于-1 ,则函数返回 NaN 。
- 如果参数为零,则函数返回零,其符号与参数的符号相同。
示例 。
Input : 2018.0
Output : 7.610357618312838
Input : -4743.0
Output : NaN
以下程序说明了java.lang.StrictMath.log1p()函数的工作情况:
程序1: 在这个程序中,传递了有限的非零参数。
// Java Program to illustrate
// StrictMath.log1p() function
import java.io.*;
import java.lang.*;
class GFG {
public static void main(String[] args)
{
double val1 = 2018.00567, val2 = 99999.0;
System.out.println("Natural Logarithm of " +
(val1 + 1) + " is " + StrictMath.log1p(val1));
System.out.println("Natural Logarithm of " +
(val2 + 1) + " is " + StrictMath.log1p(val2));
}
}
输出
Natural Logarithm of 2019.00567 is 7.610360426629845
Natural Logarithm of 100000.0 is 11.512925464970229
程序2: 在这个程序中,传递的是无限和负数的参数。
// Java Program to illustrate
// StrictMath.log1p() function
import java.io.*;
import java.lang.*;
class GFG {
public static void main(String[] args)
{
double val1 = 201800 / (0.0), val2 = -4743.0;
System.out.println("Natural Logarithm of " +
(val1 + 1) + " is " + StrictMath.log1p(val1));
System.out.println("Natural Logarithm of " +
(val2 + 1) + " is " + StrictMath.log1p(val2));
}
}
输出
Natural Logarithm of Infinity is Infinity
Natural Logarithm of -4742.0 is NaN
**参考资料: ** https://docs.oracle.com/javase/8/docs/api/java/lang/StrictMath.html#log1p()