快速计算32位数中1的位数
来源:互联网 发布:好听的粤语 知乎 编辑:程序博客网 时间:2024/06/06 08:49
快速计算32位数中1的位数
转载http://blog.csdn.net/sailor_8318/archive/
一语句实现x是否为2的若干次幂的判断
#define is2*n(x) ((x & (x - 1))? 0 : 1)
int main(void)
{
int m = 512;
cout << ((m & (m - 1)) ? false : true) << endl;
//即当m中只有一位为1时,才为若干次幂值
//若有两个及以上1,则(m & (m - 1))不为0,输出0,表示不为2的若干次幂
return(0);
}
类比:x为2的若干次幂即表示x中1的位数为1,题目转化为求一个32位数中1的位数,如果为1,则表示该数为2的若干次幂
同理也可以利用此规则求一个32位数中1的位数, (m & (m - 1)每次可用消除一个1,计算的次数即为1的个数
- 快速计算32位数中1的位数
- 快速计算32位数中1的位数
- C/C++面试之算法系列--快速计算32位数中1的位数
- 计算 1 的位数
- 计算二进制中1的位数
- 快速计算掩码位数
- 如何计算一个字节中1的位数
- 阶乘位数的计算
- 计算整数的位数
- 计算整数的位数
- 计算n!的位数
- 计算二进制‘1’位数
- 计算一个数的位数
- 计算任意位数的Pi
- 计算任意位数的Pi
- 计算任意位数的Pi
- 计算整数的位数3
- 计算n!的位数<Math>
- webbrowser 的使用2
- SOA 设计的信息透视图系列
- 使用 Java 构造高可扩展应用
- 自动生成数据库文档
- C#中将DateTime类型转换成Byte数组
- 快速计算32位数中1的位数
- 每步动态域名解析的设置详解(一)------实现vpn
- ASP.NET使用弹出窗口(对话框)的体会
- 博客,你为什么要这样封锁自己?
- 借刀杀人,不使用任何中间变量实现strlen
- VS Warring
- DOM 精简知识教程
- Silverlight 2.0 RTW 正式版发布(附下载地址)!
- 去除数组中的重复数字