剑指offer算法_位运算求和

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer算法_位运算求和相关的知识,希望对你有一定的参考价值。

不用+,-,*,/运算求和,可以分成三步:

1.计算两个数字的异或值,相当于只计算每一位的和,不计算进位,得出结果sum;

2.计算两个数字的与值,相当于求出两个数字的进位,然后左移一位,相当于进位,得出结果jw;

3.求sum和jw的和,步骤与1,2相同,直到进位jw==0停止计算;

 

扩展:

不申请额外内存实现两个变量值得交换:

方法一:

通过异或来实现;

  a=a^b;

  b=a^b;

  a=a^b;

方法二:

通过加减运算实现;

  a=a+b;

  b=a-b;

  a=a-b;

 

以上是关于剑指offer算法_位运算求和的主要内容,如果未能解决你的问题,请参考以下文章

乱序版 ● 剑指offer每日算法题打卡题解——位运算 (题号56)

Lc_剑指Offer15二进制中1的个数--------位运算

剑指 Offer 56 - II. 数组中数字出现的次数 II(二进制求和模运算)

剑指offer

剑指offer第二版和专项突击版有啥区别

剑指offer--3