剑指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 }