LeetCode:位运算实现加法
2024-09-03 00:38:34
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
最新文章
- code vs1506传话(塔尖)+tarjan图文详解
- PHP实现执行定时任务的几种思路详解
- Android——android:gravity 和 android:layout_Gravity
- JD轮播图代码
- CodeSmith模板生成
- [译]好程序员的五声&ldquo;呐喊&rdquo;
- Lable 控件 -- 用代码改变要显示字体的颜色
- Spring 基于注解的装配
- 算法回顾--N皇后问题简单回顾
- Delphi 与 DirectX
- 文件读写监控(inotify, systemtap)
- xshell配色Solarized Dark
- css3实现可以计算的自适应布局——calc()
- MySQL巧用自定义函数进行查询优化
- Vuforia开发完全指南---Vuforia概述
- 关于在windows上远行的虚拟机为ubuntu16.04中不能复制和粘贴的问题解决方案
- Unknown initial character set index &#39;255&#39; received from server. Initial client character set can be
- 从一组数找第K大元素
- java 基础one ---运算符and流程控制
- go标准库的学习-net/rpc/jsonrpc
热门文章
- react-native 项目实战 -- 新闻客户端(2) -- 完善TabBar
- 控制器View是怎样创建的?
- Gauge安装
- PJISP 修改 消息头Fromto字段
- select * from A.B.C.D sqlserver 中 select * from .Literary_PuDong.dbo.Users
- .NET CORE 2.0小白笔记(三):数字化平台之微信平台策略
- nginx 做前端代理时proxy参数配置
- weex 学习
- .net之GridView、DataList、DetailsView(二)
- android 蓝牙低耗能(LBE)技术介绍