写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
public class Solution {
public static void main(String[] args) {
Solution s = new Solution();
System.out.println(s.Add(7, 19));
}
public int Add(int num1, int num2) {
int sum,carry;
do{
sum = num1 ^ num2; //没有进位的加结果
carry = (num1 & num2) <<1; //进位结果
num1 = sum;
num2 = carry;
}while(num2 !=0); //没有进位为止
return num1;
}
}
本文介绍了一种不使用+、-、*、/等基本运算符来实现两个整数相加的方法。通过位操作,即异或(^)得到无进位的加法结果,与操作(&)和左移(<<)得到进位,循环此过程直到没有进位为止。
642

被折叠的 条评论
为什么被折叠?



