Java 中的 StrictMath log1p()方法

原文:https://www . geesforgeks . org/strict math-log1p-method-in-Java/

java . lang . strict math . log1p()是 Java 中的内置方法,用于接受一个双精度值作为参数,并返回参数和 1 之和的自然对数

语法:

public static double log1p(double x)

参数:该函数接受一个双值 x 作为参数,并计算(1+x)的自然算法返回值:该方法返回值 ln(1+x) 。对于小值 xlog1p(x) 的结果几乎和 ln(1 + x) 的实际结果一样接近,而不是 log(1.0+x) 的浮点求值。 考虑以下情况:

  • 如果参数为正无穷大,则函数返回正无穷大
  • 对于负无穷大,该函数返回负无穷大
  • 如果参数是小于-1 的 NaN,则函数返回 NaN
  • 如果参数为,则函数返回符号与参数相同的

示例:

Input : 2018.0
Output : 7.610357618312838

Input : -4743.0
Output : NaN

下面的程序说明了 java.lang.StrictMath.log1p()函数的工作原理: 程序 1: 在这个程序中,传递的是有限且非零的参数。

Java 语言(一种计算机语言,尤用于创建网站)

// 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));
    }
}

Output: 

Natural Logarithm of 2019.00567 is 7.610360426629845
Natural Logarithm of 100000.0 is 11.512925464970229

程序 2: 在这个程序中,传递无限和负的参数。

Java 语言(一种计算机语言,尤用于创建网站)

// 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));
    }
}

Output: 

Natural Logarithm of Infinity is Infinity
Natural Logarithm of -4742.0 is NaN

参考:https://docs . Oracle . com/javase/8/docs/API/Java/lang/strict math . html # log1p()