位运算 - AcWing 801. 二进制中1的个数(C++)- 简单

题目链接:https://www.acwing.com/problem/content/description/803/
题目如下:
位运算 - AcWing 801. 二进制中1的个数(C++)- 简单

#include<iostream>
using namespace std;

const int N=100010;
int num[N];

int main(){
    int n;
    cin>>n;

    for(int i=0;i<n;++i) cin>>num[i];

    for(int i=0;i<n;++i){
        int ans=0;
        unsigned int number=num[i];//将整型转化为无符号整型
        
        while(number){
            if(number&1) ans++;//取最低位
            number>>=1;//移除最低位
        }

        cout<<ans<<' ';
    }
    cout<<endl;
    return 0;
}
上一篇:Ubuntu 安装软件的命令


下一篇:Dictionary 总结