您的位置:首页 > 职场人生

程序员面试100题(算法)之整数的二进制表示中1的个数(两种方法)

2012-08-16 16:28 309 查看
// 程序员面试100题(算法)之整数的二进制表示中1的个数
#include "stdafx.h"
#include <iostream>

using namespace std;

int NumberOf1_s1(int num)
{
int count = 0;
unsigned int flag = 1;

while(flag != 0)
{
if((num & flag) != 0)
{
count++;
}

flag = flag << 1;
}

return  count;
}

int NumberOf1_s2(int num)
{
int count = 0;

while(num != 0)
{
num = (num - 1) & num;
count++;
}

return  count;
}

int _tmain(int argc, _TCHAR* argv[])
{
int num = 0;

cin >> num;
cout << NumberOf1_s2(num) << endl;

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