面试题47:不用加减乘除做加法
2013-08-28 09:18
218 查看
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+,-,*,/四则运算符号
思路:
1,先做异或运算
2,保留进位数据
3,进位左移,与异或结果做“”与“运算
4,循环
代码:
#include "stdio.h"
#include "stdlib.h"
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;
}
void main()
{
int a=5,b=17;
int result=Add(a,b);
printf("%d",result);
}
结果:
22Press any key to continue
思路:
1,先做异或运算
2,保留进位数据
3,进位左移,与异或结果做“”与“运算
4,循环
代码:
#include "stdio.h"
#include "stdlib.h"
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;
}
void main()
{
int a=5,b=17;
int result=Add(a,b);
printf("%d",result);
}
结果:
22Press any key to continue
相关文章推荐
- 剑指offer 面试题47 不用加减乘除做加法
- 面试题47—不用加减乘除做加法
- 面试题47-不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 剑指offer 面试题47—不用加减乘除做加法
- 剑指offer——面试题47:不用加减乘除做加法
- 剑指Offer:面试题47 不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 剑指offer——面试题47:不用加减乘除做加法
- 面试题47-不用加减乘除做加法
- 剑指offer--面试题47:不用加减乘除做加法
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 剑指Offer面试题47(Java版):不用加减乘除做加法
- 剑指Offer面试题47:不用加减乘除做加法 Java实现
- 【剑指offer】6.5发散思维能力——面试题47:不用加减乘除做加法
- 面试题47. 不用加减乘除做加法
- 面试题47 不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 剑指offer面试题47 不用加减乘除做加法 (java实现)