您的位置:首页 > 编程语言 > C语言/C++

c++实现同或运算

2008-09-03 19:57 267 查看
#include <iostream>
using namespace std;
int same_or(int perm1,int perm2)
{
int tmp=perm1>perm2 ? perm1:perm2;
int n=0, refer=~0, value;
while(tmp>>n)
n++;
refer<<=n;
tmp=perm1&perm2;
perm1=~(perm1|refer); //排除perm1高位上无效bit的干扰,如排除0001 1111的前面3个0
perm2=~(perm2|refer); //同上
value=perm1&perm2;
return value|tmp;
}

int main()
{
int c=same_or(4,5);
cout<<c<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: