博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
另类加法
阅读量:3958 次
发布时间:2019-05-24

本文共 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=0

解答

import 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/

你可能感兴趣的文章