public int addTwoNumbersWithoutArithmeticOperator(int num1,int num2){
        int carry = 0;
        int result = 0;
        for(int i=0; i <=31; i++){
            int r1 = (num1 & 1<<i) != 0 ? 1 : 0;
            int r2 = (num2 & 1<<i) !=0 ? 1 : 0;
            
            result = result | (r1^r2^carry)<<i;
            if((r1 & r2) != 0 || (r1 & carry) != 0 || (r2 & carry) != 0){
                carry = 1;
            }else{
                carry = 0;
            }
        }
        return result;
    }
http://www.geeksforgeeks.org/add-two-bit-strings/
http://www.geeksforgeeks.org/binary-representation-of-a-given-number/
http://www.geeksforgeeks.org/add-two-numbers-without-using-arithmetic-operators/
src/com/interview/bits/AddTwoNumberInBinaryRepresentation.java