You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
579 B

2 years ago
#include<iostream>
using namespace std;
//<2F><><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>һ<EFBFBD><D2BB>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void bin2(int n) {
int i,j=0;
int a[1000];
i=n;
if(i==0) {
cout<<"0"<<endl;
}
while(i) {
a[j]=i%2;
i/=2;
j++;
}
for(i=j-1; i>=0; i--)
cout<<a[i];
cout<<endl;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
int CountBit(int x) {
int ret=0;
while(x) {
//<2F><><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cout<<"x= ";
bin2(x);
cout<<"x-1= ";
bin2(x-1);
cout<<"x&(x-1)= ";
bin2(x&(x-1));
cout<<endl;
ret++;
x=x&(x-1);
}
return ret;
}
int main() {
//<2F>ж<EFBFBD><D0B6>ٸ<EFBFBD>1<EFBFBD><31>
cout<<CountBit(63)<<endl;
return 0;
}