统计二进制正整数中1的个数
常见的办法,也是比较笨的办法,假设这个整数是32位的unsigned int的,那就比较简单的思路,就是每次将整数向右移一位,然后与1进行与操作,然后判断
另一种办法:让这个数每次减一,然后和原来的数进行与操作,然后将结果减一,然后和原数进行与操作,一直返回,知道结果为0为止
举例:10的二进制数是1010,那么1010减一的话就是1001,1010&1001=1000 1000-1=0111 1000&0111=0 结束,执行了两次操作,那就过就是2
统计二进制正整数中1的个数
常见的办法,也是比较笨的办法,假设这个整数是32位的unsigned int的,那就比较简单的思路,就是每次将整数向右移一位,然后与1进行与操作,然后判断
另一种办法:让这个数每次减一,然后和原来的数进行与操作,然后将结果减一,然后和原数进行与操作,一直返回,知道结果为0为止
举例:10的二进制数是1010,那么1010减一的话就是1001,1010&1001=1000 1000-1=0111 1000&0111=0 结束,执行了两次操作,那就过就是2