Loading...
网友提供的内容

快速计算二进制整数中1的个数

/*********************************************************************
/*  
  我想,这应该是最快的代码了吧。of course,打表除外!
*/
/*********************************************************************/
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cmath>

using namespace std;

int main(int argc, _TCHAR* argv[])
{
  int n;
  while (cin>>n && n)
  {
    int bit1_num = 0;
    do
    bit1_num++;
    while( (n &= (n-1)));   //核心代码就这么一句
    cout<<bit1_num<<endl;
  }
  system("pause");
  return 0;
}

站内评论

  • 暂无评论
  • 评论: