Adding two numbers without + operator (Clarification)

后端 未结 3 657
北荒
北荒 2020-12-04 16:45

I know that we can use the logic of binary adder where Sum = a XOR b and Carry = a AND b

I have also got a solution:



        
3条回答
  •  醉梦人生
    2020-12-04 17:28

    public class AddSub {
    
        int sum=0,carry=0;
        public static void main(String[] args) {
            System.out.println("Add "+new AddSub().addition(93,5));
            System.out.println("Sub "+new AddSub().subtraction(7,60));
            System.out.println("Sub "+new AddSub().multiplication(9,60));
        }
    
        public int addition(int a, int b)
        {
            if(b==0)
            {
                return a;
            }
            else
            {
                 sum = a^b;
                 carry = (a&b)<<1;
                return addition(sum,carry);         
            }
        }
    
        public int subtraction(int a, int b){
    
            return addition(a,addition(~b,1));
    
        }
    
        public int multiplication(int a, int b){       
            for(int i=0;i

提交回复
热议问题