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