面试题47:不用加减乘除做加法
来源:互联网 发布:手机淘宝上传宝贝教程 编辑:程序博客网 时间:2024/04/28 08:12
题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
分析:因为不能用加减乘除,所有很容易想到转到位运算。
a^b //不带进位加
a&b //看哪几位有进位,进位左移一位,所以需要(a&b)<<1
- 递归
int Add(int a, int b){ if (b == 0){ return a; } int sum=a^b; int carry=(a&b)<<1; return Add(sum,carry);}
- 循环
int Add(int a,int b){ int sum=a; int carry=b; while(b!=0){ sum=a^b; carry=(a&b)<<1; a=sum; b=carry; } return sum;}
0 0
- 面试题47:不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 【面试题47】不用加减乘除做加法
- 面试题47-不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 面试题47:不用加减乘除做加法
- 面试题42:不用加减乘除做加法
- 面试题51:不用加减乘除做加法
- 面试题47. 不用加减乘除做加法
- [剑指offer][面试题47]不用加减乘除做加法
- 剑指Offer:面试题47 不用加减乘除做加法
- 剑指offer 面试题47—不用加减乘除做加法
- 【剑指Offer学习】【面试题47:不用加减乘除做加法】
- 剑指offer-面试题47:不用加减乘除做加法
- 剑指offer之面试题47不用加减乘除做加法
- 使用Spring的AOP实现接口方法执行时间记录
- keil .sct分散加载文件及其应用(重点必看)
- linux挂载新磁盘、分区和开机自动挂载
- Android5.0+(Percent 百分比布局)
- Javascript高级玩法
- 面试题47:不用加减乘除做加法
- git ssh key
- 二叉查找树的查找、插入、删除、释放等基本操作的实现(C语言)
- keil .sct分散加载文件及其应用(重点必看)
- python模拟http请求实现网站登录
- Kali install pycrypto
- 主机访问虚拟机oracle数据库
- java中volatile关键字的含义
- 文件操作问题