191. 位1的个数
代码实现:
func hammingWeight(num uint32) int {
temp := 0
for ;num != 0;temp++{
num = num & (num - 1)
}
return temp
}
解题思路:利用num & (num - 1)去清二进制数 num 的最后一个 1。计数直到num变为0,清了多少次1。
位操作技巧:计算二进制中1的个数
该博客介绍了如何使用位操作计算一个整数在二进制表示下1的个数,通过巧妙地应用num&(num-1)的方法逐次消除二进制表示中的最右边的1,直到数变为0。这种方法被称为汉明重量(Hamming Weight)计算,常用于位操作和计数问题中。
191. 位1的个数
代码实现:
func hammingWeight(num uint32) int {
temp := 0
for ;num != 0;temp++{
num = num & (num - 1)
}
return temp
}
解题思路:利用num & (num - 1)去清二进制数 num 的最后一个 1。计数直到num变为0,清了多少次1。
1937

被折叠的 条评论
为什么被折叠?