Método Java Math ulp() con ejemplos

java.lang.Math.ulp() es un método java incorporado que devuelve el tamaño de un ulp del argumento. Un ulp significa unidad de menor precisión. Calcula la distancia entre el valor doble o flotante dado y el
Valor doble o flotante que le sigue en magnitud.
Los argumentos pueden ser de dos tipos:

  • ulp(float f) : Toma entrada de tipo float.
  • ulp(doble d) : Toma entrada de tipo doble.

Nota :

  • Si el argumento es NaN, la salida es NaN.
  • Si el argumento es un valor doble o flotante positivo o negativo, la salida para ulp(-arg) y ulp(arg) es la misma.
  • Si el argumento es cero positivo o negativo, la salida será Double.MIN_VALUE o Float.MIN_VALUE.
  • Si el argumento es infinito positivo o negativo, la salida es infinito positivo.
  • Si el argumento es positivo o negativo Double.MAX_VALUE o Float.MAX_VALUE, la salida será 2 971 para el tipo doble y 2 104 para el tipo flotante.

Sintaxis:

public static dataType ulp(dataType g)
Parameter :
 g: argument whose ulp is to be returned.
Return :
This method returns the size of an ulp of the argument.

Ejemplo: para mostrar el funcionamiento del método java.lang.Math.ulp() .

// Java program to demonstrate working
// of java.lang.Math.ulp() method
import java.lang.Math;
  
class Gfg {
  
    // driver code
    public static void main(String args[])
    {
        double a = 34.543;
  
        // Input positive double value
        // Output ulp(a)
        System.out.println(Math.ulp(a));
  
        // Input negative double value
        // Output ulp(-a)==ulp(a)
        System.out.println(Math.ulp(-a));
  
        double b = 0.0 / 0;
  
        // Input NaN, Output Nan
        System.out.println(Math.ulp(b));
  
        float c = -0.0f;
  
        // Input negative zero
        // Output  Float.MIN_VALUE.
        System.out.println(Math.ulp(c));
  
        float d = -1.0f / 0;
  
        // Input negative infinity
        // Output  positive infinity.
        System.out.println(Math.ulp(d));
  
        double e = Double.MAX_VALUE;
  
        System.out.println(Math.ulp(e));
    }
}

Producción:

7.105427357601002E-15
7.105427357601002E-15
NaN
1.4E-45
Infinity
1.9958403095347198E292

Publicación traducida automáticamente

Artículo escrito por Niraj_Pandey 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 *