题目描述
输入两个整数,求两个整数二进制格式有多少个位不同
输入描述:
两个整数
输出描述:
二进制不同位的个数
示例1
输入
22 33
输出
5
说明
一个整形4个字节,32位二进制数,第一位数符号为,看有多少位不同,只需要异或一下,&1,再移位即可,移位的时候,前面补的是零
#include <iostream>
using namespace std;
int main()
{
int m,n;
cin>>m>>n;
int x = m^n;
int num = 0;
while(x)
{
if((x&1)!=0)
{
++num;
}
x = x>>1;
}
cout<<num<<endl;
return 0;
}