位运算的“奇巧淫技”

 

 

 

 

 

 

 

 

 

 

#include<bits/stdc++.h>
using namespace std;

int getbits(int n)//统计(n)bin中的1的个数 
{
	int res=0;
	while(n)
	{
		res++;
		n=n&(n-1);
	}
	return res;
}

int cmp(int a,int b)//统计a,b中the number of different bits in the binary format of a and b. 
{
	return  getbits(a^b);	
} 

int main()
{
	int a,b;
	while(cin>>a>>b) cout<<cmp(a,b)<<endl;
	return 0;
}

  

 

posted @ 2019-08-13 12:05  龙龙666666  阅读(217)  评论(0编辑  收藏  举报