首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

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

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

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

// 程序员面试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;}

热点排行