niks
BAN USERpublic class BitwiseOperation {
public static String sumOfBinaryNumbers(String a,String b)
{
a=a.replace(" ", "");
b=b.replace(" ", "");
char n[]=a.toCharArray();
char m[]=b.toCharArray();
StringBuffer result=new StringBuffer();
int carry=0;
int i=n.length-1,j=m.length-1;
while(i>=0 && j>=0)
{
int r1=Integer.parseInt(n[i]+"");
int r2=Integer.parseInt(m[j]+"");
int value=(r1^r2^carry);
carry=((r1 & r2) | (r1 &carry)) | (r2 & carry);
result.append(value);
i--;
j--;
}
while(i>=0)
{
int value=Integer.parseInt(n[i]+"")^carry;
if(value==1)
carry=0;
else
carry=1;
result.append(value);
i--;
}
while(j>=0)
{
int value=Integer.parseInt(m[j]+"")^carry;
if(value==1)
carry=0;
else
carry=1;
result.append(value);
j--;
}
if(carry==1)
result.append(carry);
result.reverse();
return result.toString();
}
public static void main(String[] args)
{
String result= sumOfBinaryNumbers("100011","100100");
System.out.println("Result "+result);
}
}
- niks January 12, 2014