不使用算数运算符 完成两数求和
来源:互联网 发布:淘宝怎么改会员名字 编辑:程序博客网 时间:2024/05/17 07:08
class Solution { /* * param a: The first integer * param b: The second integer * return: The sum of a and b */ public int aplusb(int a, int b) { // write your code here, try to do it without arithmetic operators. if(b == 0){ return a; } int c = a ^ b;//a,b进行异或运算但是不进位 int d = (a & b) << 1;//a,b进行与运算(一假为假),得出哪里需要进位,通过左移运算进位 return aplusb(c,d); }};
总结:
1、<<(左移运算符)的优先级大于 &(与运算)的优先级
2、此题通过if(b==0)来控制迭代的终止
3、如果异或运算能够不进位,那么异或运算相当于加法!!!,此题正是通过不断的循环使得异或运算能够不进位。
0 0
- 不使用算数运算符 完成两数求和
- 不使用"+"," -"操作符完成加法运算
- Java-不使用运算符,使用二进制符号进行求和
- 面试编程题拾遗(01) --- 不用算术运算符完成两个数求和
- 高位数求和不使用BigDecimal
- 算数运算符
- 算数运算符
- (9)算数运算符
- 算数运算符
- 算数运算符
- 算数运算符
- 测试++算数运算符
- 运算符&&使用 求和计算
- 汇编语言:两数求和
- 两数求和
- 2.6、算数运算符与算数表达式
- 使用按位异或运算符进行两数交换
- Python中数字以及算数运算符的相关使用
- MySQL触发器
- CentOS服务器安全设置
- Ubuntu, Debian, Kali, CentOS等linux重置root密码
- Android异步消息处理机制详解
- AIM Tech Round 3 (Div. 2) ABCDE题解
- 不使用算数运算符 完成两数求和
- COM组件开发(一)—— 对象与接口 .
- CSS中position定位
- maven创建web工程第一次使用jetty运行报错
- 07,数组
- 月薪3万的程序员都避开了哪些坑?
- tomcat context.xml文件配置<Loader delegate="true" />作用
- ObjectFactory采用单列模式设置工厂模式
- Android硬件之传感器