使用逻辑运算符实现加法
来源:4-1 逻辑与运算符介绍
穌慕钧
2021-02-04 06:34:38
问题描述:
怎么只使用位运算使两个整型数相加?(& | ~ >> << ^)
尝试过的解决方式:
我知道不考虑进位,使用xor: sum = a ^ b,
考虑进位用 carry = (a & b) << 1,
然后 sum = sum ^ carry.
但是比如这个例子:01101和00011相加,就有不止一次的进位。
所以有没有不用循环的方法,只用逻辑运算符的方法就可以实现?
1回答
好帮手慕阿慧
2021-02-04
同学你好,位运算符有:与(&),或(|),非(~),异或(^)。让两个整数相加我们一般用+加号就可以了。如下:
int a=10,b=2;
System.out.println("相加结果:" + (a+b));
不能只用逻辑运算符的方法实现呐。
祝学习愉快~
相似问题