面试题47:不用加减乘除做加法

本文详细解析了如何实现不计进位的加法运算,包括初始化变量、循环执行加法操作直至进位为零,并返回最终结果。适用于对算法细节感兴趣的开发者。

分析:

对于x和y

1.首先计算各位相加但不计进位;

2.记下进位;

3.把前步的结果相加。

 1 int add(int num1, int num2)
 2 {
 3   int sum, carry;
 4   do
 5   {
 6     sum = num1^num2;
 7     carry = (num1&num2)<<1;
 8     num1 = sum;
 9     num2 = carry;
10   }while (carry!=0)
11   return num1;
12 }

 

转载于:https://www.cnblogs.com/happygirl-zjj/p/4600460.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值