How to add two numbers without sum operator in java


Using bit wise operator  it can be done.


public class AddWithoudPlus {

public static void main(String[] args) {

int x = 12;
int y = 41;
System.out.println(getSum(x,y));
System.out.println(getSumRec(x,y));
}


//iterative (while loop)
private static int  getSum(int x, int y) {
while(y != 0){
int sum  = x^y;
int carry = (x&y)<<1;
x = sum;
y = carry;
}
return x;
}


//recursive
private static int  getSumRec(int x, int y) {
if(y == 0) return x;
int sum = x ^ y;
int carry = (x & y)<<1;
return getSumRec(sum, carry);
}
}





Post a Comment

Previous Post Next Post