Find XOR of two number without using XOR operator
A Simple Solution is to traverse all bits one by one. For every pair of bits, check if both are same, set the corresponding bit as 0 in output, otherwise set as 1.
SOLUTION IN C++
#include <iostream>
using namespace std;
int main()
{
int x,y,b1,b2,i;
int res=0,ans=0;
cin>>x>>y;
for(i=31;i>=0;i--)
{
bool b1=x & (1 << i);
bool b2=y & (1 << i);
bool x_y = (b1 & b2) ? 0 : (b1 | b2);
res <<= 1;
res |= x_y;
}
cout<<"xor is "<<res;
return 0;
}
OUTPUT:
No comments:
Post a Comment