LeetCode:位运算实现加法

写在前面

位运算符

实现加法的思路

两个加数,比如5(101)和6(110),如何不用加法就能得出两者之和呢?

我们知道二进制计算中,如果使用异或将会产生无进位的两者之和,而两数相与将会产生进位值!!!

可这样又如何呢?

 sum = 011
carry =1000

两者继续异或将会产生

结果就出现了,此时无进位,所以进位为0时,sum将会为最终结果!因为此时不需要进位,异或运算就是最终结果!

优质代码

     public int getSum(int a, int b) {
while(b!=0)
{
int carry = a&b;
a=a^b;
b=carry<<1;
}
return a;
}

参考链接

https://github.com/awangdev/LintCode/blob/master/Java/A%2BB.java

最新文章

  1. code vs1506传话(塔尖)+tarjan图文详解
  2. PHP实现执行定时任务的几种思路详解
  3. Android——android:gravity 和 android:layout_Gravity
  4. JD轮播图代码
  5. CodeSmith模板生成
  6. [译]好程序员的五声&ldquo;呐喊&rdquo;
  7. Lable 控件 -- 用代码改变要显示字体的颜色
  8. Spring 基于注解的装配
  9. 算法回顾--N皇后问题简单回顾
  10. Delphi 与 DirectX
  11. 文件读写监控(inotify, systemtap)
  12. xshell配色Solarized Dark
  13. css3实现可以计算的自适应布局——calc()
  14. MySQL巧用自定义函数进行查询优化
  15. Vuforia开发完全指南---Vuforia概述
  16. 关于在windows上远行的虚拟机为ubuntu16.04中不能复制和粘贴的问题解决方案
  17. Unknown initial character set index &#39;255&#39; received from server. Initial client character set can be
  18. 从一组数找第K大元素
  19. java 基础one ---运算符and流程控制
  20. go标准库的学习-net/rpc/jsonrpc

热门文章

  1. react-native 项目实战 -- 新闻客户端(2) -- 完善TabBar
  2. 控制器View是怎样创建的?
  3. Gauge安装
  4. PJISP 修改 消息头Fromto字段
  5. select * from A.B.C.D sqlserver 中 select * from .Literary_PuDong.dbo.Users
  6. .NET CORE 2.0小白笔记(三):数字化平台之微信平台策略
  7. nginx 做前端代理时proxy参数配置
  8. weex 学习
  9. .net之GridView、DataList、DetailsView(二)
  10. android 蓝牙低耗能(LBE)技术介绍