# BigIntegerMath ceilingPowerOfTwo() function | Guava | Java

• Last Updated : 03 Aug, 2021

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

My Personal Notes arrow_drop_up
Related Articles