问题:十进制整数,计算对应的二进制数包含多少个1,用位操作。
2012-03-19 15:12
267 查看
①
while(a>0)
{
a=a&(a-1);//消去最后一个为1的数字
count++;
}
②
1.先造表 int[256],保存1-255对应二进制数1的个数。
2.对整数a,先求a&255再查表。
3.然后(a>>8)&255再查表。
4.依次类推,处理完所有位数,将查表所得值相加。
while(a>0)
{
a=a&(a-1);//消去最后一个为1的数字
count++;
}
②
1.先造表 int[256],保存1-255对应二进制数1的个数。
2.对整数a,先求a&255再查表。
3.然后(a>>8)&255再查表。
4.依次类推,处理完所有位数,将查表所得值相加。
相关文章推荐
- 十进制整数,计算对应的二进制数包含多少个1,用位操作
- 十进制整数,计算对应的二进制数包含多少个1
- 算法的强大——快速计算一个正二进制整数中包含多少个1
- 统计数字问题。给定一本书,其中包含n页,计算出书的全部页码中用到了多少个数字0…9。
- 统计数字问题。给定一本书,其中包含n页,计算出书的全部页码中用到了多少个数字0…9。
- 计算将一个十进制整数转换成二进制含多少个1
- 统计数字问题。给定一本书,其中包含n页,计算出书的全部页码中用到了多少个数字0…9。
- 算法的强大——快速计算一个正二进制整数中包含多少个1
- 计算将一个十进制整数转换成二进制含多少个1
- 一个十进制整数转换成二进制含多少个1
- #51 Codeforces-E. Very simple problem (计算几何)(点被多少个三角形包含)
- 求两个数的二进制数的对应位有多少位不同?
- [C] 让VC支持C99的整数类型V1.01。避免包含目录问题,更名auto_stdint.h、auto_inttypes.h(在VC6至VC2012、GCC、BCB等编译器下测试通过)
- 数据结构——算法之(016)( 输入整数n,计算从1到n这n个整数的十进制表示中1出现的次数和)
- 输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n。
- 计算二进制整数中有多少个1 判断是否为2的n次幂
- 输入一个十进制整数,设计递归函数,将该整数转化为一个二进制数。 思考: 如何将一个十进制数转化成一个8进制和16进制数。
- 一个整数转化为二进制数后包含1的个数
- 计算十进制整数的二进制中的1的数目
- 字符串匹配问题:输入一个字符串,计算其中包含的‘连续’给定的子字符串最长的个数.