C++-二进制数一的个数-bitcount()函数

xiaoxiao2021-02-28  51

#include<cstdio> #include<iostream> using namespace std; int NumberOf1(int n){//返回二进制一的个数 注意类型 int count=0; unsigned int flag=1;//flag从1开始 每次循环左移一位 与n做&运算 判断该位是否为1 while(flag<=n){ //flag大于n 退出循环 if(n&flag) count++; flag=flag<<1; } return count; } int main(){ for(int i=0;i<15;i++) cout<<i<<" "<<NumberOf1(i)<<endl; system("pause"); return 0; } #include<cstdio> #include<iostream> using namespace std; int bitcount(int x){ return x==0?0:bitcount(x/2)+(x&1);//x&1加括号 } int main(){ cout<<bitcount(3); system("pause"); return 0; }
转载请注明原文地址: https://www.6miu.com/read-2626300.html

最新回复(0)