使用逻辑运算符实现加法

使用逻辑运算符实现加法

问题描述:

怎么只使用位运算使两个整型数相加?(& | ~ >> << ^)


尝试过的解决方式:

我知道不考虑进位,使用xor: sum = a ^ b,

考虑进位用 carry = (a & b) << 1,

然后 sum = sum ^ carry.

但是比如这个例子:01101和00011相加,就有不止一次的进位。


所以有没有不用循环的方法,只用逻辑运算符的方法就可以实现?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿慧 2021-02-04 13:52:06

同学你好,位运算符有:与(&),或(|),非(~),异或(^)。让两个整数相加我们一般用+加号就可以了。如下:

int a=10,b=2;
System.out.println("相加结果:" + (a+b));

不能只用逻辑运算符的方法实现呐。

​祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师