剑指offer--不用加减乘除做加法
来源:互联网 发布:java 小游戏源代码 编辑:程序博客网 时间:2024/06/04 20:13
题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
题目思路:
1、回顾一下5+7=12的过程;
个位得到的是2,十位进位为10,相加得12;
如果没有进位的时候直接就是各位相加得数;
2、那么利用5->101,7->111;两个按位与之后得到的是需要进位的位然后进位一位,两个数按位异或相当于两个数相加;然后将 按位与进位后的数与按位异或之后的数按位与直到进位为0时,则停止进位;返回两个数按位异或的数;
代码实现:
int Add(int num1, int num2){while (num1 != 0){int temp = num1^num2; //按位异或num1 = (num1&num2) << 1;//按位与求出需要进位的位数同时进位num2 = temp;}return num2;}int main(){cout << Add(1, 2) << endl;system("pause");return 0;}
阅读全文
2 1
- 【剑指offer】不用加减乘除做加法
- 【剑指offer】不用加减乘除做加法
- 剑指Offer之 - 不用加减乘除做加法
- 剑指offer: 不用加减乘除做加法
- 剑指offer 不用加减乘除做加法
- 《剑指offer》不用加减乘除做加法
- 剑指offer--不用加减乘除做加法
- 剑指offer:不用加减乘除做加法
- 【剑指offer】之不用加减乘除做加法
- 剑指offer-不用加减乘除做加法
- 《剑指offer》不用加减乘除做加法
- 剑指offer:不用加减乘除做加法
- 剑指Offer--047-不用加减乘除做加法
- 剑指offer题解 不用加减乘除做加法
- 《剑指offer》:[47]不用加减乘除做加法
- 《剑指offer》-不用加减乘除做加法
- 剑指offer 不用加减乘除做加法
- 【剑指offer】不用加减乘除做加法
- win10 下 如何安装 redis
- 练习题(栈)
- Redis的数据结构和使用场景介绍
- 洛谷P1055 ISBN号码
- android 常用控件(一)
- 剑指offer--不用加减乘除做加法
- PowerShell命令行,卸载WIN10自带应用
- 【HDU 2647】Reward (邻接表实现拓扑排序,反向排序)
- Spring Boot 学习笔记(-)
- python面向对象编程
- Eclipse 上传项目至github
- kernel的属性文件到android的java的读取(7 14)
- python编程技巧之从字典中提取子集
- 如何完全屏蔽Chrome的提示:"请停用以开发者模式运行的扩展程序"