您的位置:首页 > 其它

判断32位整数二进制中1的个数

2005-03-26 08:50 363 查看
在面试中被问到这一题:判断32位无符号整数二进制中1的个数,虽然不难,但要求层层优化。现在整理一下:

1、基本思路:

#include <iostream>

using namespace std;

char tOne[256]="\0\1\1\2\1\2……"; //后面省略

3、据说Intel中有条汇编指令(或是数条)即可完成这个工作,但不知道具体是什么,应该怎样做。

4、又看到有道MS的笔试题殊途同归:

int func(unsigned int n)  int count=0;

  while(n>0)    n&=(n-1);

    count++;

  }

  return count;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: