Clase de matemáticas largas | guayaba | Java

LongMath se utiliza para realizar operaciones matemáticas en valores largos. 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.

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

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

La siguiente tabla muestra algunos de los métodos proporcionados por LongMath Class of Guava:

Excepciones:

  • log2: IllegalArgumentException si x <= 0
  • log10: IllegalArgumentException si x <= 0
  • pow : IllegalArgumentException si k < 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
  • mod: excepción aritmética si m <= 0
  • gcd: IllegalArgumentException si a < 0 o b < 0
  • checkedAdd: ArithmeticException si a + b se desborda en aritmética larga firmada
  • checkedSubtract: ArithmeticException si a – b se desborda en aritmética larga con signo
  • checkedMultiply: ArithmeticException si a * b se desborda en aritmética larga firmada
  • checkedPow: ArithmeticException si b a la k-ésima potencia se desborda en aritmética larga firmada
  • factorial: IllegalArgumentException si n < 0
  • binomial: IllegalArgumentException si n < 0, k < 0 o k > n

Algunos otros métodos proporcionados por LongMath Class of Guava son:

Ejemplo 1:

// Java code to show implementation of
// LongMath Class of Guava
import java.math.RoundingMode;
import com.google.common.math.LongMath;
  
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 80 is not
            // completely divisible by 3
            // thus rounding is required, and
            // RoundingMode is set as UNNESSARY
            System.out.println(LongMath.divide(80, 3, RoundingMode.UNNECESSARY));
        }
        catch (ArithmeticException ex) {
            System.out.println("Error Message is : " + ex.getMessage());
        }
    }
}

Producción :

Error Message is : mode was UNNECESSARY, but rounding was necessary

Ejemplo 2:

// Java code to show implementation of
// LongMath Class of Guava
import java.math.RoundingMode;
import com.google.common.math.LongMath;
  
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 120 is divisible by 4, so
        // no exception is thrown
        System.out.println(LongMath.divide(120, 4, RoundingMode.UNNECESSARY));
  
        // To compute GCD of two integers
        System.out.println("GCD is : " + LongMath.gcd(70, 14));
  
        // To compute log to base 10
        System.out.println("Log10 is : " + LongMath.log10(1000, RoundingMode.HALF_EVEN));
  
        // To compute remainder
        System.out.println("modulus is : " + LongMath.mod(125, 5));
  
        // To compute factorial
        System.out.println("factorial is : " + LongMath.factorial(7));
  
        // To compute log to base 2
        System.out.println("Log2 is : " + LongMath.log2(8, RoundingMode.HALF_EVEN));
  
        // To compute square root
        System.out.println("sqrt is : " + LongMath.sqrt(LongMath.pow(12, 2), RoundingMode.HALF_EVEN));
    }
}

Producción :

30
GCD is : 14
Log10 is : 3
modulus is : 0
factorial is : 5040
Log2 is : 3
sqrt is : 12

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 *