Open In App

Java Guava | ceilingPowerOfTwo() method of IntMath Class

The ceilingPowerOfTwo(int x) method of Guava’s IntMath class accepts a parameter and calculates the smallest power of two greater than the values passed in the parameter. This method is equivalent to checkedPow(2, log2(x, CEILING)).

Syntax :



public static int ceilingPowerOfTwo(int x)

Parameter: This method accepts a single parameter x which is of integer type and returns the smallest power of two greater than the values passed in the parameter.

Return Value : Smallest power of two greater than or equal to x.



Exceptions :

Below examples illustrate the ceilingPowerOfTwo() method of IntMath class:

Example 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");
    

Output :

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

Example 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); 
        
    

Output :

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

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


Article Tags :