题目链接:

力扣https://leetcode.cn/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof/

【分析】对于两个二进制的加法,他们的本位和进位如下,本位相当于两数异或,进位相当于两数想与,如果把进位左移一位,就可以写成新的两个数相加了。

       // 1 1    0。1// 0 1    1。0// 1 0    1。0// 0 0    0。0

借用一个大佬的图,这样a+b可以改写成n+c,那么n+c又可以继续用这种方式来计算,我们发现c是不对左移的,当c移动成0的时候,就说明这时候不再产生进位了,那么n就是最终的结果了。

class Solution {public int add(int a, int b) {// 1 1    0。1// 0 1    1。0// 1 0    1。0// 0 0    0。0while(b != 0){int n = (a ^ b);b = (a & b) << 1;a = n;}return a;}
}

剑指 Offer 65. 不用加减乘除做加法相关推荐

  1. java 加法不用_【Java】 剑指offer(65) 不用加减乘除做加法

    本文参考自<剑指offer>一书,代码采用Java语言. 题目 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 思路 对数字做运算,除了四则运算外,只剩下位 ...

  2. 【LeetCode】剑指 Offer 65. 不用加减乘除做加法

    [LeetCode]剑指 Offer 65. 不用加减乘除做加法 文章目录 [LeetCode]剑指 Offer 65. 不用加减乘除做加法 一.位运算 一.位运算 本题考察对位运算的灵活使用,即使用 ...

  3. 剑指 Offer 65. 不用加减乘除做加法(位运算、递归、迭代)

    一.题目 剑指 Offer 65. 不用加减乘除做加法 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用 "+"."-"."*" ...

  4. 0位运算/数学简单 剑指 Offer 65. 不用加减乘除做加法

    剑指 Offer 65. 不用加减乘除做加法 描述 写一个函数,求两个整数之和,要求在函数体内不得使用 "+"."-"."*"." ...

  5. 【LeetCode笔记】剑指 Offer 65. 不用加减乘除做加法(Java、位运算、二刷)

    文章目录 题目描述 思路 & 代码 二刷 题目描述 讲道理,感觉算有点难度的题目了= =,还是需要时不时看看. 思路 & 代码 正负数情况可以不考虑(补码) 核心:加法 = 进位和 + ...

  6. 剑指 Offer 65. 不用加减乘除做加法(位运算,计组原理:补码、加法器)

    一.基础知识 做这题需要用到计算机组成原理的基础知识:二进制的表示以及加法器. 简要提下知识点,最好再去研究下来龙去脉,加深理解. (1)二进制加法 a b 非进位和s 进位c 0 0 0 0 0 1 ...

  7. leetcode每日一题第三十二天-剑指 Offer 65. 不用加减乘除做加法(easy??middle了吧)

    前言 通过leetcode记录自己每天坚持刷题,以此监督自己的学习.不能放假了就懈怠

  8. 《剑指Offer》 不用加减乘除做加法

    题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 思路: 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2. 第二步:计 ...

  9. 剑指offer:不用加减乘除做加法

    题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 解题思路 class Solution { public:int Add(int num1, int num2 ...

最新文章

  1. ajax nginx 转发 sessionid_Nginx+Apache实现动静分离 - 孙天飞
  2. 架构之路之spring+springmvc+maven+mongodb的搭建(转载:http://blog.csdn.net/tomcat_2014/article/details/55100130)
  3. 最新PHP秒赞,快乐秒赞 php版
  4. 软件测试课程学习总结
  5. JAVA方法中的参数用final来修饰的原因
  6. NYOJ 1077 【博弈+大整数取模】
  7. 计算色光叠加的RGB颜色的alpha值
  8. fft 相位谱_数值积分——使用FFT来降低计算量
  9. java自动扫描不好使_Spring 自动扫描 不支持jar包 component-scan
  10. java 上传文件编码_java文件传输之文件编码和File类的使用
  11. 电脑打开应用程序提示配置系统未能初始化--解决方案
  12. HG221GS光猫超级密码破解(烽火,华为)
  13. java 如何获取当前时间到夜晚12点的毫秒差值
  14. 利用screen命令将程序挂在linux后台
  15. 如何进入BIOS设置界面
  16. 度小满金融前端开发一面(已挂)
  17. android 华为sd卡路径,(科普)详解Android系统SD卡各类文件夹名称
  18. 如何关掉计算机进行中的程序,任务管理器进程哪些是可以关闭的【图文教程】...
  19. 车锁锁架3D打印模型
  20. 0-2岁宝宝早教全攻略

热门文章

  1. 如何在电脑上使用计算机,字体如何安装到电脑里_怎么给电脑装字体-win7之家
  2. Gateway - Path、Query、RemoteAddr路由断言工厂
  3. Java 读取 Excel 文件内容, 根据 pdf 模板动态生成对应的 pdf 文件
  4. iOS app上传 之TestFlight Beta版本测试
  5. 现在自学c语言有前途吗,c语言还有前途吗,老司机告诉你
  6. 2020爆款高性价比蓝牙耳机盘点,十款高人气低延迟蓝牙耳机推荐
  7. Power bi 3.17 漏斗图
  8. 用JavaEE技术实现产品售后服务系统
  9. 手把手教你如何从数据入手判断渠道刷量造假作弊
  10. 4_numpy_文件读取