计算位数的3种方法
2008-02-29 12:34
239 查看
方法1:
方法2:(为一个字节打表)
static unsigned char byte_bit_count[256];
int count_bits(unsigned int data)
方法3:(计算一个字种所有位(0,1)的和)
int count_bits(unsigned int x)
{
static unsigned int mask[]={0x55555555,
0x33333333,
0x0F0F0F0F,
0x00FF00FF,
0x0000FFFF};
int i;
int shift;
for(i=0,shift=1;i<5;i++,shift*=2)
x=(x&mask[i])+((x>>shift)&mask[i]);
return x;
}
方法2:(为一个字节打表)
static unsigned char byte_bit_count[256];
int count_bits(unsigned int data)
方法3:(计算一个字种所有位(0,1)的和)
int count_bits(unsigned int x)
{
static unsigned int mask[]={0x55555555,
0x33333333,
0x0F0F0F0F,
0x00FF00FF,
0x0000FFFF};
int i;
int shift;
for(i=0,shift=1;i<5;i++,shift*=2)
x=(x&mask[i])+((x>>shift)&mask[i]);
return x;
}
相关文章推荐
- C语言快速计算出一个无符号数一共有多少个“”1”位数的方法
- 数据挖掘导论中3.2.2的百分位数计算方法
- vb len("中文")的位数计算的解决方法
- 【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现、尾递归实现)
- 计算闰年, 根据年份和月份返回天数(3种方法)
- 客户消费行为预测的3种计算方法
- Integer中计算int位数的方法
- JS的toFixed方法设置小数点位数后再进行计算,数据出错问题
- C语言——计算输入的任意数的位数(两种方法)
- Python 代码运行时间的3种计算方法
- .NET 实现Eval(文字列表达式计算)的3种实现方法。
- 计算一个整数的位数的三种方法
- 分析iOS Crash文件:符号化iOS Crash文件的3种方法
- 18位身份证号码最后一位校验码的计算方法
- 高效的组合数计算方法
- Matlab中计算程序运行时间的三种方法
- 对于年终奖个人所得税计算方法您知道吗?
- 句子相似度计算的几种方法
- C# 中使用 MD5 算法计算 hash (哈希)值的四种方法
- 把123456789转换为12-345-6789的3种方法