BigIntegerMath ceilingPowerOfTwo() function | Guava | Java

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 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 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
```