C/C++教程

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

本文主要是介绍位运算 - AcWing 801. 二进制中1的个数(C++)- 简单,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目链接:https://www.acwing.com/problem/content/description/803/
题目如下:
在这里插入图片描述

#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;
}
这篇关于位运算 - AcWing 801. 二进制中1的个数(C++)- 简单的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!