Clase BigIntegerMath | guayaba | Java

BigIntegerMath se utiliza para realizar operaciones matemáticas en valores de BigInteger. Las funciones matemáticas independientes básicas se dividen en las clases IntMath, LongMath, DoubleMath y BigIntegerMath según el tipo numérico principal involucrado. Estas clases tienen una estructura paralela, pero cada una admite solo el subconjunto relevante de funciones. Se puede encontrar una funcionalidad similar para int y long en IntMath y LongMath respectivamente.

Declaración: la declaración de la clase com.google.common.math.BigIntegerMath es:

@GwtCompatible(emulated = true)
public final class BigIntegerMath
   extends Object

La siguiente tabla muestra los métodos proporcionados por BigIntegerMath Class of Guava:

Excepciones:

  • log2: IllegalArgumentException si x <= 0
  • log10: IllegalArgumentException si x <= 0
  • sqrt : IllegalArgumentException si x < 0
  • divide : ArithmeticException si q == 0, o si modo == INNECESARIO y a no es un múltiplo entero de b
  • factorial: IllegalArgumentException si n < 0
  • binomial: IllegalArgumentException si n < 0, kn

Ejemplo 1 :

// Java code to show implementation of
// BigIntegerMath Class of Guava
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        // Creating an object of GFG class
        GFG obj = new GFG();
  
        // Function calling
        obj.examples();
    }
  
    private void examples()
    {
  
        try {
  
            // exception will be thrown as 10 is
            // not completely divisible by 3
            // thus rounding is required, and
            // RoundingMode is set as UNNESSARY
            System.out.println(BigIntegerMath.divide(BigInteger.TEN,
                                                new BigInteger("3"), 
                                           RoundingMode.UNNECESSARY));
        }
        catch (ArithmeticException ex) {
            System.out.println("Error Message is : " +
                                       ex.getMessage());
        }
    }
}
Producción:

Error Message is : Rounding necessary

Ejemplo 2:

// Java code to show implementation of
// BigIntegerMath Class of Guava
import java.math.*;
import com.google.common.math.BigIntegerMath;
  
class GFG {
  
    // Driver code
    public static void main(String args[])
    {
  
        // Creating an object of GFG class
        GFG obj = new GFG();
  
        // Function calling
        obj.examples();
    }
  
    private void examples()
    {
  
        // As 10 is divisible by 5, so
        // no exception is thrown
        System.out.println(BigIntegerMath.divide(BigInteger.TEN,
                                        new BigInteger("5"),
                                    RoundingMode.UNNECESSARY));
  
        // To compute log to base 10
        System.out.println("Log10 is : " + 
             BigIntegerMath.log10(new BigInteger("1000"), 
                                 RoundingMode.HALF_EVEN));
  
        // To compute factorial
        System.out.println("factorial is : " + 
                         BigIntegerMath.factorial(7));
  
        // To compute log to base 2
        System.out.println("Log2 is : " + 
           BigIntegerMath.log2(new BigInteger("8"),
                          RoundingMode.HALF_EVEN));
  
        // To compute square root
        System.out.println("sqrt is : " +       
                    BigIntegerMath.sqrt(BigInteger.
                    TEN.multiply(BigInteger.TEN),
                        RoundingMode.HALF_EVEN));
    }
}
Producción:

2
Log10 is : 3
factorial is : 5040
Log2 is : 3
sqrt is : 10

Referencia: Google Guayaba

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 *