本文主要是介绍给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include <iostream>using namespace std;int countOne(int n)//统计二进制表示中所含1的个数
{int num=0;if(n==0)num=0;else{while(n){n&=(n-1);num++;}}return num;
}int main()
{int A,B;cout<<"please input A and B"<<endl;cin>>A>>B;int C=A&B;//获取A和B中同时出现1的数int D=A|B;//获取A和B中所有含1的数int E=C^D;cout<<countOne(E)<<endl;return 0;
}
这篇关于给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?也就是说,整数A和B的二进制表示中有多少位是不同的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!