BigIntegerMath ceilingPowerOfTwo() function | Guava | Java

Last Updated : 11 Jul, 2025
The ceilingPowerOfTwo(BigInteger x) method of Guava's BigIntegerMath class returns the smallest power of two greater than or equal to x. This is equivalent to BigInteger.valueOf(2).pow(log2(x, CEILING)). Syntax:
public static BigInteger 
    ceilingPowerOfTwo(BigInteger x)
Parameters: This method takes the number x as parameter whose ceiling power of two is to be found. Return Value: This method returns the ceiling power of two of the given number x. Exceptions: This method throws IllegalArgumentException if x <= 0. Below examples illustrates the BigIntegerMath.ceilingPowerOfTwo() method: Example 1: Java
// 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);
    }
}
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
// 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);
        }
    }
}
Output:
Exception: java.lang.IllegalArgumentException: x (0) must be > 0
Reference: https://guava.dev/releases/21.0/api/docs/com/google/common/math/BigIntegerMath.html#ceilingPowerOfTwo-java.math.BigInteger-
Comment