本文共 419 字,大约阅读时间需要 1 分钟。
请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。
给定两个int A和B。请返回A+B的值二进制加法特点:
位的异或运算跟求’和’的结果一致: 异或 1^1=0 1^0=1 0^0=0 求和 1+1=0 1+0=1 0+0=0 位的与运算跟求’进位‘的结果一致: 位与 1&1=1 1&0=0 0&0=0 进位 1+1=1 1+0=0 0+0=0import java.util.*;public class UnusualAdd { public int addAB(int A, int B) { if(B==0){ return A; } int sum=A^B; int jin=(A&B)<<1; return addAB(sum,jin); }}
转载地址:http://rdlzi.baihongyu.com/