Función BigIntegerMath roofPowerOfTwo() | guayaba | Java

El método ceilingPowerOfTwo(BigInteger x) de la clase BigIntegerMath de Guava devuelve la potencia más pequeña de dos mayor o igual que x. Esto es equivalente a BigInteger.valueOf(2).pow(log2(x, TECHO)).

Sintaxis:

public static BigInteger 
    ceilingPowerOfTwo(BigInteger x)

Parámetros: Este método toma como parámetro el número x cuya potencia máxima de dos se encuentra.

Valor devuelto: este método devuelve la potencia máxima de dos del número x dado.

Excepciones: este método lanza IllegalArgumentException si x <= 0.

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

Ejemplo 1:

// Java code to show implementation of
// ceilingPowerOfTwo(BigInteger x) 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 n1 = BigInteger.valueOf(25);
  
        // Using ceilingPowerOfTwo(BigInteger x) method of
        // Guava's BigIntegerMath class
        BigInteger ans = BigIntegerMath.ceilingPowerOfTwo(n1);
  
        System.out.println("Smallest power of 2 greater "
                           + "than or equal to "
                           + n1 + " is: " + ans);
  
        BigInteger n2 = BigInteger.valueOf(65);
  
        // Using ceilingPowerOfTwo(BigInteger x) method of
        // Guava's BigIntegerMath class
        BigInteger ans1 = BigIntegerMath.ceilingPowerOfTwo(n2);
  
        System.out.println("Smallest power of 2 greater "
                           + "than or equal to "
                           + n2 + " is: " + ans1);
    }
}

Producción:

Smallest power of 2 greater than or equal to 25 is: 32
Smallest power of 2 greater than or equal to 65 is: 128

Ejemplo 2:

// Java code to show implementation of
// ceilingPowerOfTwo(BigInteger x) 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 n = BigInteger.valueOf(0);
  
            // Using ceilingPowerOfTwo(BigInteger x) method of
            // Guava's BigIntegerMath class
            // This should raise "IllegalArgumentException"
            // as n is <= 0
            BigInteger ans = BigIntegerMath.ceilingPowerOfTwo(n);
  
            System.out.println("Smallest power of 2 greater "
                               + "than or equal to n is : " + ans);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

Producción:

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

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

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 *