计算一个位串中1的个数
unsigned int v; //计算 v中1的个数unsigned int c; // 结果存在cfor (c = 0; v; c++){ v &= v - 1; }
这是Brian Kernighan给出的算法,v中有多少个1就迭代多少次。
这在1988年出版的K&R C语言教程的2-9练习中出现。2006年4月19日,Knuth指出,这个算法出现在Peter Wegner CACM 3 (1960), 322.的书中。
发布时间: 2012-12-28 10:29:05 作者: rapoo
计算一个位串中1的个数
unsigned int v; //计算 v中1的个数unsigned int c; // 结果存在cfor (c = 0; v; c++){ v &= v - 1; }