作者:看那个码农
公众号:看那个码农
上期内容介绍了Go语言学习之力扣-颠倒二进制位|Go主题月
- 颠倒二进制位
本篇内容将继续带领大家走进Go语言的世界。
1.本文简介
Go语言学习之力扣-位1的个数
来源于:191. 位1的个数
2.题目描述
编写一个函数,输入是一个无符号整数(以二进制串的形式
),返回其二进制表达式中数字位数为 '1'
的个数(也被称为汉明重量
)。
示例 1
输入:00000000000000000000000000001011
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。
3.思路与方法
- 首先可以判断输入
num
的最后一位是否为1
,如果为1,则计数器加1; - 然后二进制数右移动,
丢弃最后一位
, - 循环执行上述操作直到
num的值等于0
为止。
4.具体实现代码
func hammingWeight(num uint32) int {
var i int=0
for num!=0{
if num&1==1{
i++
}
num=num>>1
}
return i
}
力扣结果输出为:
如果你觉得这篇内容对你有帮助的话:
1、点赞支持下吧,让更多的人也能看到这篇内容
2、关注公众号:看那个码农,我们一起学习一起进步。