剑指offer—不用加减乘除做加法

来源:互联网 发布:matlab分块矩阵乘法 编辑:程序博客网 时间:2024/04/29 02:13

题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号

public class Solution {    public int Add(int num1,int num2) {        while(num2!=0){            int sum = num1^num2;            num2 = (num1&num2)<<1;            num1 = sum;        }        return num1;    }}

思路:将加法用二进制替代,方法是两个数先进行或运算,同时对这个数进行与运算并左移一位保存进位,这就是一次加法的流程,循环进行直到进位为0,如果没有进位,只有或运算即可

阅读全文
0 0
原创粉丝点击