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

题目描述

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
 
使用位运算,^表示除去进位外的值,&表示进位的值
1 public int Add(int num1,int num2) { //位运算 my
2         while(num2!=0){
3             int val = num1^num2;
4             int val2 = num1&num2;//进位
5             num1 = val;
6             num2=val2<<1;
7         }
8         return num1;
9     }

 

posted @ 2019-04-12 16:41  月半榨菜  阅读(77)  评论(0编辑  收藏  举报