关于判断某一个整型值内的1的个数
2009-06-06 12:30
169 查看
int HowMany1 ( int n ) { int count = 0; while ( n ) { n &= n - 1; count++; } return count; }
n &= n - 1 用于判断 n 是否为 2 的次幂,如是,则 n 为零。
也就是说 n &= n - 1 可以将 n 的最后一位 1 给挑出来,因为减 1 时需要借位。而前面的几位 1 不会受影响。如果操作,直到最后一位 1 被挑出来,n 就为零了。这样,count 判断的就是所有的 1 的个数。
![](http://p.blog.csdn.net/images/p_blog_csdn_net/hikaliv/EntryImages/20090606/示波仪打星际.jpg)
相关文章推荐
- shell中判断一个参数是否为整型
- 关于js正则表达式判断一个字符串是否是正确的有数字和小数点组成的金钱形式和 判读数值类型的正则表达式
- 关于一个ISE错误XST:899的错误判断的讨论
- 关于javascript中判断一个字符串是否包含另一个字符串
- 关于网络状况判断的一个疑似iOS或xcode的BUG
- 20140810 关于js中如何判断一个对象{}是否为空
- 关于在书上学到的判断一个机器是否是大端法机器还是小端法机器的笔记
- 关于jquery版本为1.6+使用checkbox的checked属性来判断一个checkbox是否被选中问题
- OC中关于NSFileManager判断是否存在某一个文件
- shell中判断一个参数是否为整型
- 面试题———关于将一个整型数组中的所有元素组合成一个数字,并找出最小一个。
- 关于指针和const限定符问题的一个简单判断方法
- 关于输入一个字符,判断其是否是数字的汇编程序
- 关于一个帧开始和结束的判断
- 关于IF判断的问题(一个有趣的事情)(分支-08. 高速公路超速处罚(15))
- 怎么判断一个字符串是整型?不能用正则表达式,也不能用convert强制转换,更不能用Parsint
- 关于整型数组如何判断其有效元素
- 一个简单的关于权限判断登陆的javaBean文件
- 关于一个数组是另一个数组的键值树的判断
- CA一道面试题,判断一个整型数是否是2的幂