不用加减乘除计算两个数的加法
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));
}
}
- int BitAdd(int a, int b)
- {
- int Carry = a & b; // 进位
- int NoCarry = a ^ b; // 非进位
- if (Carry != 0)
- return BitAdd(NoCarry, Carry << 1);
- else
- return NoCarry;
- }

浙公网安备 33010602011771号