本文共 379 字,大约阅读时间需要 1 分钟。
编写一个函数,输入是一个整数,返回其二进制表达式中数字位数为 ‘1’ 的个数
代码如下:int func(int n)//char ch{ int count = 0; while(n > 0) { count++; n&=(n-1); } return count;}
原理:n&(n-1) 按位与 每计算一次,低位减一
-由此可的:
则n&=(n-1)运算的次数可以表示用来表示n的二进制中1的位数
原题链接:
转载地址:http://jwso.baihongyu.com/