题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
(todo)要深刻理解位运算,补码的运算规律!!! 要理解为什么负数也能运行成功
public class Solution {
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;
}
}
本文介绍了一个不使用传统四则运算实现两整数相加的方法。通过深入理解位运算及补码原理,设计了一种利用异或和左移操作实现加法的算法。此算法巧妙地避免了直接使用加减乘除运算符。
157

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



