不用加减乘除计算两个数的加法

package test1;


public class test4 {
	

	public static int Add(int n1,int n2) {
		int sum,carry;
		do {
			sum=n1^n2;
			carry=(n1&n2)<<1;
			n1=sum;
			n2=carry;
		} while (n2!=0);
		return sum;
	}
	
	
	public static void main(String[] args) {

	System.out.println(Add(2,4));
	}

}


  1. int BitAdd(int a, int b)  
  2. {  
  3.     int Carry = a & b;      // 进位  
  4.     int NoCarry = a ^ b; // 非进位  
  5.     if (Carry != 0)  
  6.         return BitAdd(NoCarry, Carry << 1);  
  7.     else  
  8.         return NoCarry;  
  9. }  

  

posted @ 2014-06-04 22:39  蓦然回首的包子  阅读(341)  评论(0)    收藏  举报