Guayaba de Java | método ceilingPowerOfTwo() de la clase IntMath

El método ceilingPowerOfTwo(int x) de la clase IntMath de Guava acepta un parámetro y calcula la potencia más pequeña de dos mayor que los valores pasados ​​en el parámetro. Este método es equivalente acheckedPow(2, log2(x,CEILING)) .

Sintaxis:

public static int ceilingPowerOfTwo(int x)

Parámetro : este método acepta un solo parámetro x que es de tipo entero y devuelve la potencia más pequeña de dos mayor que los valores pasados ​​en el parámetro.

Valor devuelto: la potencia más pequeña de dos mayor o igual que x.

Excepciones:

  • IllegalArgumentException: este método arroja una IllegalArgumentException si x <= 0.
  • ArithmeticException: este método arroja una excepción ArithmeticException si la siguiente potencia de dos no se puede representar como un int, es decir, cuando x > 2^30.

Los siguientes ejemplos ilustran el método ceilingPowerOfTwo() de la clase IntMath:

Ejemplo 1 :

// Java code to show implementation of 
// isPrime(int n) method of Guava's 
// IntMath class
import java.math.RoundingMode; 
import com.google.common.math.IntMath; 
   
class GFG { 
       
    // Driver code 
    public static void main(String args[]) 
    { 
        int a1 = 63;
           
        // Using isPrime(int n) 
        // method of Guava's IntMath class
        if(IntMath.isPrime(a1))
        System.out.println(a1 + " is a prime number");
        else
        System.out.println(a1 + " is not a prime number");
           
        int a2 = 17;
           
        // Using isPrime(int n) 
        // method of Guava's IntMath class
        if(IntMath.isPrime(a2))
        System.out.println(a2 + " is a prime number");
        else
        System.out.println(a2 + " is not a prime number");
    } 
} 

Salida :

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(int x) method of Guava's
// IntMath class
import java.math.RoundingMode; 
import com.google.common.math.IntMath; 
  
class GFG { 
      
    static int findCeilPow(int x) 
    { 
        try { 
              
            // Using ceilingPowerOfTwo(int x) 
            // method of Guava's IntMath class 
            // This should throw "IllegalArgumentException" 
            // as x <= 0
            int ans = IntMath.ceilingPowerOfTwo(x); 
    
            // Return the answer 
            return ans; 
        } 
        catch (Exception e) { 
            System.out.println(e); 
            return -1; 
        } 
    } 
  
    // Driver code 
    public static void main(String args[]) 
    { 
        int n = -4;
          
        try { 
            // Function calling
            findCeilPow(n);; 
        } 
        catch (Exception e) { 
            System.out.println(e); 
        } 
    } 
} 

Salida :

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

Referencia:
https://google.github.io/guava/releases/20.0/api/docs/com/google/common/math/IntMath.html#ceilingPowerOfTwo-int-

Publicación traducida automáticamente

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