Método StrictMath ulp() en Java con ejemplos

ulp (numero doble)

El ulp (número doble) es un método incorporado de la clase StrictMath en Java que se usa para obtener el tamaño de un ulp del argumento dado. Un ulp de un valor doble es la distancia positiva entre este valor de punto flotante y el valor doble que es el siguiente en magnitud mayor.
Algunos casos especiales son: 

  • El resultado es NaN , si el argumento es NaN.
  • El resultado es infinito positivo , si el argumento es infinito positivo o negativo.
  • El resultado es Double.MIN_VALUE si el argumento es cero positivo o negativo.
  • El resultado es igual a 2^971 si el argumento es ±Double.MAX_VALUE.

Sintaxis:  

public static double ulp(double num)

Parámetros: el método acepta un parámetro num de tipo doble el valor de punto flotante cuyo ulp se devolverá.
Valor devuelto: el método ulp devuelve el tamaño de un ulp del argumento.
Ejemplos:  

Input: num = 5.7
Output: 8.881784197001252E-16

Input: num = 0.0
Output: 4.9E-324

El siguiente programa ilustra el método java.lang.StrictMath.ulp():
Programa 1:  

java

// Java program to illustrate the
// java.lang.StrictMath.ulp()
 
import java.lang.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        double num1 = 9.7, num2 = 4.9;
 
        // Get the size of an ulp of the argument
        // using ulp() method
        double ulp_Value = StrictMath.ulp(num1);
 
        // Print the size of the ulp
        System.out.println(" The Size of ulp of "
                           + num1 + " = "
                           + ulp_Value);
 
        // Get the size of an ulp of the argument
        // using ulp() method
        ulp_Value = StrictMath.ulp(num2);
 
        // Print the size of the ulp
        System.out.println(" The Size of ulp of "
                           + num2 + " = "
                           + ulp_Value);
    }
}
Producción: 

 The Size of ulp of 9.7 = 1.7763568394002505E-15
 The Size of ulp of 4.9 = 8.881784197001252E-16

 

ulp(número flotante)

El ulp (número flotante) es un método incorporado de la clase StrictMath en Java que se usa para obtener el tamaño de un ulp del argumento dado. Un ulp de un valor flotante es la distancia positiva entre este valor de coma flotante y el valor flotante que es el siguiente en magnitud mayor.
Algunos casos especiales son:

  • El resultado es NaN , si el argumento es NaN.
  • El resultado es infinito positivo , si el argumento es infinito positivo o negativo.
  • El resultado es Float.MIN_VALUE si el argumento es cero positivo o negativo.
  • El resultado es igual a 2^104 si el argumento es ±Float.MAX_VALUE.

Sintaxis:  

public static float ulp(float num)

Parámetros: el método acepta un parámetro num de tipo flotante el valor de punto flotante cuyo ulp se devolverá.
Valor devuelto: el método ulp devuelve el tamaño de un ulp del argumento.
Ejemplos: 

Input: num = 5.7
Output: 8.881784197001252E-16

Input: num = 0.0
Output: 4.9E-324

El siguiente programa ilustra el método java.lang.StrictMath.ulp():
Programa 1:  

java

// Java program to illustrate the
// java.lang.StrictMath.ulp()
 
import java.lang.*;
 
public class GFG {
    public static void main(String[] args)
    {
 
        float num1 = 2.7f, num2 = -4.5f;
 
        // Get the size of an ulp of the argument
        // using ulp() method
        float ulp_Value = StrictMath.ulp(num1);
 
        // Print the size of the ulp
        System.out.println(" The Size of ulp of "
                           + num1 + " = "
                           + ulp_Value);
 
        // Get the size of an ulp of the argument
        // using ulp() method
        ulp_Value = StrictMath.ulp(num2);
 
        // Print the size of the ulp
        System.out.println(" The Size of ulp of "
                           + num2 + " = "
                           + ulp_Value);
    }
}
Producción: 

 The Size of ulp of 2.7 = 2.3841858E-7
 The Size of ulp of -4.5 = 4.7683716E-7

 

Publicación traducida automáticamente

Artículo escrito por ankita_chowrasia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *