Golang 程序用于向上取整到下一个最高 2 次幂。


示例

例如,n = 12 => 下一个 2 次幂为 16。

例如,n = 20 => 下一个 2 次幂为 32。

解决这个问题的方法

步骤 1 − 定义接受数字 n 的方法。

步骤 2 − 迭代 k := 1 直到 k < n。

步骤 3 − 在循环中,计算 k << 1。

步骤 4 − 最后,返回 k。

示例

 演示

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))
}

输出

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.

更新于: 18-Mar-2021

已查看 472 次

启动您的事业

完成课程以获得认证

开始
广告