[剑指offer]面试题47:不用加减乘除做加法
Posted Wecccccccc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[剑指offer]面试题47:不用加减乘除做加法相关的知识,希望对你有一定的参考价值。
面试题47:不用加减乘除做加法
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。
代码如下:
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;
}
测试用例:
输入正数、负数和0。
本题考点:
● 考查发散思维能力。当+、-、×、÷运算符都不能使用时,应聘者能不能打开思路想到用位运算做加法,是能否顺利解决这个问题的关键。
● 考查对二进制和位运算的理解。
以上是关于[剑指offer]面试题47:不用加减乘除做加法的主要内容,如果未能解决你的问题,请参考以下文章