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;
}
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;
}
相关文章推荐
- c++将引用或者是指针作为函数参数实现实参的运算
- c++实现复数运算(运算符重载)
- C++之运算符的重载实现大数的运算
- 问题五十二:怎么用C++实现矩阵运算
- 复数四则运算-c++代码实现及运行实例结果
- 复数四则运算-c++代码实现及运行实例结果
- 复数乘法运算(三次实数乘法)-c++代码实现及运行实例结果
- 复数乘法运算(三次实数乘法)-c++代码实现及运行实例结果
- C++实现支持浮点(x.x)的四则运算(带括号)
- 用C++实现时间的加减运算
- c++大数、分数、模数运算实现模板
- C++编写二元多项式,并实现基本的加减运算
- 工厂方法模式实现四则运算 C++
- C++实现大数运算 加法部分。
- 大数运算-减法(C/C++实现)
- C++实现双精度浮点数四则运算
- c++实现重载分数的四则运算
- 用C++实现高精度加法运算
- C++ std::list实现大整数加法运算
- 大数四则运算的C++实现