位运算-不用加减乘除做加法。
2016-04-08 23:34
232 查看
位运算- 不用加减乘除做加法
step1:按位与是查看两个数哪些二进制位都为1,这些都是进位位,结果需左移一位,表示进位后的结果step2:异或是查看两个数哪些二进制位只有一个为1,这些是非进位位,可以直接加、减,结果表示非进位位进行加操作后的结果
step3:n1&n2是查看有没有进位位了,如果有,需要重复step1、step2;如果没有,保留n1、n2上二进制为1的部分,用或将之合为一个数,即为最后结果
class Solution { public: int Add(int num1, int num2)//不用加减乘除做加法. { int n1,n2; n1 = (num1&num2)<<1; n2 = num1^num2; while (n1&n2) { num1 = n1;num2 = n2; n1 = (num1&num2)<<1; n2 = num1^num2; } return n1|n2; } };
相关文章推荐
- 2016年4月7号渗透学习总结
- <SLAM for Dummies>阅读笔记
- 冒泡排序法
- 文件编程
- Hadoop学习四:hadoop分布式环境搭建
- 笔记练习:《Javascript入门经典(第5版)》page115_9.9_Practice
- Apache CAS部署在tomcat上实现单点登录
- 百思不得姐之新帖(四)
- [android] 手机卫士自定义对话框布局
- 错误: 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher 问题排查
- Android学习笔记(Google官方教程)(二)
- 操作型模式之State(状态)模式
- 根据先序和中序遍历重建二叉树java实现
- 编程测试题:有17个人围成一圈(编号0~16),问此人原来的位置是多少号?
- 数据库sqlite3
- 0408 汉堡包
- 使用maven+tomcat搭建spring框架
- Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等 .
- js第十节-日期对象,网页时钟,倒计时
- Git回滚远程版本