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.
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP