剑指offer-47:不用加减乘除做加法
2017-04-18 10:41
405 查看
代码
public int Add(int num1,int num2) { int sum = 0, carry = 0; // 1. 使用异或运算表示各个位加和后的结果; // 2. 根据计算结果发现,只有1,1进位,于是求与运算且左进一位; // 3. 更新num1, num2,直到num2为0 // 4. 返回num1. while(num2 != 0){ sum = num1 ^ num2; carry = (num1 & num2)<<1; num1 = sum; num2 = carry; } return num1; }
相关题目
不使用新的变量实现两个整数的交换基于加减法
a = a + b b = a - b; a = a - b;
基于异或
a = a ^ b; b = a ^ b; a = a ^ b;
相关文章推荐
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 剑指offer47 不用加减乘除做加法
- 【面试题】剑指Offer-47-不用加减乘除做加法
- 剑指offer 面试题47 不用加减乘除做加法
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 剑指Offer面试题47:不用加减乘除做加法 Java实现
- 剑指offer 面试题47—不用加减乘除做加法
- [剑指offer][面试题47]不用加减乘除做加法
- 剑指Offer 47 不用加减乘除做加法
- 剑指offer--面试题47:不用加减乘除做加法
- 剑指Offer解题报告(Java版)——不用加减乘除做加法 47
- 剑指offer——面试题:47不用加减乘除做加法
- 【剑指offer】6.5发散思维能力——面试题47:不用加减乘除做加法
- 【剑指offer 面试题47】不用加减乘除做加法
- 【剑指offer-Java版】47不用加减乘除做加法
- 剑指offer——面试题47:不用加减乘除做加法
- 【剑指Offer】面试题47:不用加减乘除做加法
- [剑指Offer 47] 不用加减乘除做加法(Java)
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 剑指Offer面试题47(Java版):不用加减乘除做加法