统计一个二进制数有几个1的方法
2011-01-07 09:49
211 查看
1. 循环
2. 直接相加
求函数返回值,输入x=9999; int func ( x ) { int countx = 0; while ( x ) { countx ++; x = x&(x-1); } return countx; }
2. 直接相加
x = (x & 0x55555555) + ((x >> 1) & 0x55555555); // 相伶1位相加 x = (x & 0x33333333) + ((x >> 2) & 0x33333333); // 相伶2位相加 x = (x & 0x0F0F0F0F) + ((x >> 4) & 0x0F0F0F0F); // 相伶4位相加 x = (x & 0x00FF00FF) + ((x >> 8) & 0x00FF00FF); // 相伶8位相加 x = (x & 0x0000FFFF) + ((x >>16) & 0x0000FFFF); // 相伶16位相加
相关文章推荐
- 一没考虑单词重复,二没考虑先输入空格,三没考虑后面连续输空格,方法见空格将空格前面的当成一个字符串,字符串比较是否相同,再统计
- jquery几个按钮同时调用一个方法
- 异或加密法 在对文本进行简单加密的时候,可以选择用一个n位的二进制数,对原文进行异或运算。 解密的方法就是再执行一次同样的操作。
- 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
- 一个统计代码行数的简单方法
- Java - 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
- 统计一个单元区里的二进制数中1的个数
- 关于tomcat中虚拟主机的设置,以及为同一个网站添加几个域名的方法
- 第十二周 项目三-用递归方法求解(5)-一个整数对应的二进制数
- 关于JS中把二维数组变为一个数组的几个方法
- 统计一个大文本行数的几种方法以及效率统计(一)
- 毁掉一个孩子的几个方法 有多少家长正在这么做?
- JS实现在线统计一个页面内鼠标点击次数的方法
- 基础汇编--宏定义和call方法实现一个二进制数的奇偶校验
- Java编程实现统计一个字符串中各个字符出现次数的方法
- 转:java写一个方法实现统计一条英文语句忠每个单词的个数
- writeObject可以写n个,但是readObject()却只能读一次,你做一下测试。 如果你需要序列化好几个类的话,建议你用json;或者自己写两个方法,一个是将对象转换为字符串,一个是将字符串
- C++第5周任务【任务2】本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,二则也为第10章做运算符重载等积累些感性认识。
- 将一个二进制数里的1统计出来
- 统计一个数的二进制中有几个1--20150926