función BigIntegerMath log10() | guayaba | Java

El método log10(BigInteger x, modo RoundingMode) de la clase BigIntegerMath de Guava devuelve el logaritmo en base 10 de x, redondeado según el modo de redondeo especificado.

Sintaxis:

public static int log10(BigInteger x, RoundingMode mode)

Parámetros: Este método toma los siguientes parámetros:

  • x : El número BigInteger cuyo registro se va a encontrar.
  • mode : El modo de redondeo para calcular el logaritmo de 10.

Valor devuelto: este método devuelve el logaritmo en base 10 de x, redondeado según el modo de redondeo especificado.

Excepciones: este método arroja las siguientes excepciones:

  • IllegalArgumentException: si x <= 0.
  • ArithmeticException: si el modo es RoundingMode.UNNECESSARY y x no es una potencia de diez.

Modo de redondeo de enumeración

Constante de enumeración Descripción
TECHO Modo de redondeo para redondear hacia el infinito positivo.
ABAJO Modo de redondeo para redondear hacia cero.
PISO Modo de redondeo para redondear hacia el infinito negativo.
HALF_DOWN Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia abajo.
HALF_EVEN Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso, redondear hacia el vecino par.
HALF_UP Modo de redondeo para redondear hacia el «vecino más cercano» a menos que ambos vecinos sean equidistantes, en cuyo caso se redondea hacia arriba.
INNECESARIO Modo de redondeo para afirmar que la operación solicitada tiene un resultado exacto, por lo que no es necesario redondear.
ARRIBA Modo de redondeo para redondear desde cero.

Los siguientes ejemplos ilustran el método BigIntegerMath.log10():

Ejemplo 1:

// Java code to show implementation of
// log10(BigInteger x, RoundingMode mode) method
// of Guava's BigIntegerMath class
  
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
        BigInteger a1 = BigInteger.valueOf(10000);
  
        // Using log10(BigInteger x, RoundingMode mode)
        // method of Guava's BigIntegerMath class
        // The RoundingMode HALF_EVEN rounds towards
        // the "nearest neighbor" unless both neighbors
        // are equidistant, in which case, round towards
        // the even neighbor.
        System.out.println("Log base 10 of " + a1
                           + " with rounding mode HALF_EVEN = "
                           + BigIntegerMath
                                 .log10(a1,
                                        RoundingMode.HALF_EVEN));
  
        BigInteger a2 = BigInteger.valueOf(15);
  
        // Using log10(BigInteger x, RoundingMode mode)
        // method of Guava's BigIntegerMath class
        // The RoundingMode HALF_DOWN rounds towards
        // "nearest neighbor" unless both neighbors
        // are equidistant, in which case round down.
        System.out.println("Log base 10 of " + a2
                           + " with rounding mode HALF_DOWN = "
                           + BigIntegerMath
                                 .log10(a2,
                                        RoundingMode.HALF_DOWN));
    }
}

Producción:

Log base 10 of 10000 with rounding mode HALF_EVEN = 4
Log base 10 of 15 with rounding mode HALF_DOWN = 1

Ejemplo 2: Para mostrar IllegalArgumentException

// Java code to show implementation of
// log10(BigInteger x, RoundingMode mode) method
// of Guava's BigIntegerMath class
  
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        try {
            BigInteger a1 = BigInteger.valueOf(-5);
  
            // Using log10(BigInteger x, RoundingMode mode)
            // method of Guava's BigIntegerMath class
            // The RoundingMode HALF_EVEN rounds towards
            // the "nearest neighbor" unless both neighbors
            // are equidistant, in which case, round towards
            // the even neighbor.
            // This should throw "IllegalArgumentException"
            // as a1 <= 0
            System.out.println("Log base 10 of " + a1
                               + " with rounding mode HALF_EVEN = "
                               + BigIntegerMath
                                     .log10(a1,
                                            RoundingMode.HALF_EVEN));
        }
  
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

Producción:

Exception: java.lang.IllegalArgumentException: x (-5) must be > 0

Referencia: https://google.github.io/guava/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#log10-java.math.BigInteger-java.math.RoundingMode-

Publicación traducida automáticamente

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