最优算法100例之44-不用加减乘除做加法

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章icon-default.png?t=N7T8https://blog.csdn.net/seeker1994/category_12585732.html

题目描述

不用加减乘除做加法

题解报告

最优解法:使用异或
1)异或是查看两个数哪些二进制位只有一个为1,这些是非进位位,可以直接加、减,结果表示非进位位进行加操作后的结果。
2)按位与是查看两个数哪些二进制位都为1,这些都是进位位,结果需左移一位,表示进位后的结果,下次循环累加到数字上。(这些进位实际上相当于该位为零,上一位多个1,那么把上一位置1累加上去就行了)
3)这样就变成了每次只异或保存非进位位加操作后的结果,进位位下次再异或保存上去,下次还要判断是否有进位。
in

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-13 05:34:07       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-13 05:34:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-13 05:34:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-13 05:34:07       20 阅读

热门阅读

  1. 链表题(哑结点的使用)

    2024-04-13 05:34:07       14 阅读
  2. Photoshop小记

    2024-04-13 05:34:07       18 阅读
  3. CentOS版本不同大小的各个版本区别

    2024-04-13 05:34:07       17 阅读
  4. Igh related:Small Bug And Notes Record.

    2024-04-13 05:34:07       17 阅读
  5. OpenCV C++ 学习笔记(一)

    2024-04-13 05:34:07       17 阅读
  6. C 共用体

    2024-04-13 05:34:07       16 阅读
  7. 常见的分类算法及其应用场景

    2024-04-13 05:34:07       16 阅读
  8. 数据仓库—ETL工具与技术:数据仓库的坚实基石

    2024-04-13 05:34:07       17 阅读