Golang Program to round up the next highest power of 2.


Examples

For example, n = 12 => Next number power of 2 is 16.

For example, n = 20 => Next number power of 2 is 32.

Approach to solve this problem

Step 1 − Define method, that accepts a number n.

Step 2 − Iterate k := 1 until k < n.

Step 3 − In a loop, calculate k << 1.

Step 4 − At the end, return k.

Example

 Live Demo

package main
import "fmt"
func NextPowOf2(n int) int{
   k := 1
   for ;k < n; {
      k = k << 1
   }
   return k
}
func main(){
   fmt.Printf("Round of highest power of 2 for %d is %d.\n", 20, NextPowOf2(20))
   fmt.Printf("Round of highest power of 2 for %d is %d.\n", 16, NextPowOf2(16))
   fmt.Printf("Round of highest power of 2 for %d is %d.\n", 131, NextPowOf2(131))
}

Output

Round of highest power of 2 for 20 is 32.
Round of highest power of 2 for 16 is 16.
Round of highest power of 2 for 131 is 256.

Updated on: 18-Mar-2021

351 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements