Golang 程序用于计算整数中的设置位。
go programmingserver side programmingprogramming
示例
例如,101、11、11011 和 1001001 设置位分别计数 2、2、4 和 3。
解决此问题的方法
步骤 1 − 将数字转换为二进制表示。
步骤 2 − 计算 1 的数量;返回计数。
示例
package main import ( "fmt" "strconv" ) func NumOfSetBits(n int) int{ count := 0 for n !=0{ count += n &1 n >>= 1 } return count } func main(){ n := 20 fmt.Printf("%d 的二进制表示形式为:%s.\n", n, strconv.FormatInt(int64(n), 2)) fmt.Printf("%d 中设置位的总数为 %d.\n", n, NumOfSetBits(n)) }
输出
20 的二进制表示形式为:10100。 20 中设置位的总数为 2。