剑指Offer系列-面试题10:二进制中1的个数

来源:互联网 发布:淘宝卖什么好呢 编辑:程序博客网 时间:2024/06/07 07:18
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制数是1001,有2位是1.因此如果输入9,该函数输出2。
#include <iostream>using namespace std;int NumberOf1(int n){    int num = 0;    while(n)    {        ++ num;        n = (n - 1) & n;    }    return num;}int main(){    cout << NumberOf1(0) << endl;    cout << NumberOf1(1) << endl;    cout << NumberOf1(1024) << endl;    cout << NumberOf1(1023) << endl;    cout << NumberOf1(-1023) << endl;    return 0;}


0 0
原创粉丝点击