#include <iostream>
using namespace std;
int NumberOf1_1(int n){
int count=0;
while(n){
if(n&1) count++;
n=n >> 1;
}
//当n为负数时,会出现死循环,故此法不可取
return count;
}
int NumberOf1(int n){
int count=0;
unsigned int flag=1;
while(flag){
if(n & flag) count++;
flag= flag<<1;//通过falg右移位来判断n的某一位是否为1
}
return count;
}
int main(){
cout<<"Input a number:"<<endl;
int n;
cin>>n;
cout<<n<<" has "<<NumberOf1(n)<<" 1 "<<endl;
return 0;
}
二进制整数中1的个数
最新推荐文章于 2024-09-13 19:36:07 发布