两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
int sreach_bit(int m,int n)
{
int count=0;
int a=m^n;
while(a) //模2除2余1则有1;相反模2除2余0则有0
{
if(a%2!=0)
{
count++;
}
a/=2;
//if(a&1==1)
//{
// count++;
//}
//a>>=1
}
return count;
}
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
int sreach_bit(int m,int n)
{
int count=0;
int a=m^n;
while(a) //模2除2余1则有1;相反模2除2余0则有0
{
if(a%2!=0)
{
count++;
}
a/=2;
//if(a&1==1)
//{
// count++;
//}
//a>>=1
}
return count;
}