当前位置:网站首页>【Day_09 0427】 另类加法
【Day_09 0427】 另类加法
2022-08-01 17:40:00 【安河桥畔】
另类加法
题目来源
牛客网: 另类加法
题目描述
给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。
示例
输入
1,2
返回
3
思路分析
- 根据位运算来计算得出结果
- 用异或可以表示两数相加没有进位的结果
- 两数向与并左移一位可以表示两数相加进位的情况
- 将异或的结果和相与的结果相加,继续重复上面的步骤进行相加
- 上面的操作可以进行递归调用,递归结束的条件是异或或者相与左移的结果为0
如图,以1+3为例
代码展示
class UnusualAdd {
public:
int addAB(int A, int B) {
if(A==0)
{
return B;
}
if(B==0)
{
return A;
}
//得到相加不进位的结果
int a=A^B;
//得到进位结果
int b=(A&B)<<1;
return addAB(a,b);
}
};
边栏推荐
猜你喜欢
随机推荐
2022年SQL大厂高频实战面试题(详细解析)
研发团队数字化转型实践
移动端吸顶方案
QT commonly used global macro definitions
广汽埃安“弹匣电池”,四大核心技术,出行安全保障
星途一直缺颠覆性产品?青岛工厂这款M38T,会是个突破点?
TCP million concurrent server optimization parameters
BITS Pilani|SAC-AP:基于 Soft Actor Critic 的深度强化学习用于警报优先级
指针和解引用
08 Spark cluster construction
QT_事件类
极化微波成像概述
创造建材数字转型新视界,中建材如何多边赋能集团业务快速发展
快速抽取resnet_v2_152中间的特征层
SQL的ROUND函数用法及其实例
素域和扩域
金仓数据库KingbaseES安全指南--6.4. RADIUS身份验证
SRM供应商管理系统如何助力口腔护理企业实现采购战略的转型升级
晶振工作原理详解
ROS2系列知识(7):用rqt_console查看日志logs




![[供应链·案例篇]石油和天然气行业的数字化转型用例](/img/44/9ef9f86f8afb85f49aac1cce55723d.jpg)




