面试题47-不用加减乘除做加法
来源:互联网 发布:约熟女什么软件 编辑:程序博客网 时间:2024/04/28 05:00
题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
解法
用位运算解答
两个数 n1、n2
(n1&n2)<<1是n1、n2相加后进位的结果
(n1^n2)是n1、n2不进位相加的结果
即n1+n2=(n1^n2)+(n1&n2)<<1,所以当没有进位的时候,两个数异或的结果是最终结果
Code:
class Solution {public: int Add(int num1, int num2) { int t1,t2; do{ t1=(num1&num2)<<1; //进位 t2=num1^num2; //不进位相加 //此时num1+num2=t1+t2 num1=t1; num2=t2; }while(num1!=0); return num2; }};
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不用加减乘除做加法
- 出错总在不经意间 while===VS===if
- Elasticsearch5.0在java中调用需要的jar包
- 企业证书描述文件过期的现象
- 汉诺塔问题
- 云计算:这10年
- 面试题47-不用加减乘除做加法
- Invalid column name
- Spring中的JdbcTemplate
- 数据结构和算法--二叉树的层次遍历
- leetcode:17. Letter Combinations of a Phone Number
- H-Store科研入门(1)
- rtems网络移植-网卡的注册和初始化
- usaco Preface Numbering 序言页码
- 13计本2班第二次实验解析