2015小米暑期实习笔试题

进修社 人气:5.71K

标签:小米 c++ 面试

2015小米暑期实习笔试题

总共3道题,最后一道还没AC出来。。。

世界上有10种人,一种懂二进制,一种不懂。

那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?

输入例子:

1999 2299

输出例子:

7

题解法类似于《编程之美》上面看到的某题

代码:

#include

using namespace std;

int countBitDiff(int m, int n)

{

int sum=0;

for(int i=0;i<32;i++)

if((m>>i & 0x1) != (n>>i & 0x1))

sum++;

return sum;

}

int main()

{

int n,m;

cin>>n>>m;

cout<<countbitdiff(n,m)<<endl;< p="">

return 0;

}