博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位运算-不用加减乘除做加法。
阅读量:4070 次
发布时间:2019-05-25

本文共 502 字,大约阅读时间需要 1 分钟。

位运算- 不用加减乘除做加法

  • 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; }};

转载地址:http://pehji.baihongyu.com/

你可能感兴趣的文章
Redis持久化存储(AOF与RDB两种模式)
查看>>
memcached工作原理与优化建议
查看>>
Redis与Memcached的区别
查看>>
redis sharding方案
查看>>
程序员最核心的竞争力是什么?
查看>>
Node.js机制及原理理解初步
查看>>
linux CPU个数查看
查看>>
分布式应用开发相关的面试题收集
查看>>
简单理解Socket及TCP/IP、Http、Socket的区别
查看>>
利用HTTP Cache来优化网站
查看>>
利用负载均衡优化和加速HTTP应用
查看>>
消息队列设计精要
查看>>
分布式缓存负载均衡负载均衡的缓存处理:虚拟节点对一致性hash的改进
查看>>
分布式存储系统设计(1)—— 系统架构
查看>>
MySQL数据库的高可用方案总结
查看>>
常用排序算法总结(一) 比较算法总结
查看>>
SSH原理与运用
查看>>
SIGN UP BEC2
查看>>
S3C2440中对LED驱动电路的理解
查看>>
《天亮了》韩红
查看>>