1)使用位运算,sum1=a^b 相当于不进位的加法,因为0+1=1.1+0=1.1+1=0(因为不进位)0+0=0 正好是或运算

2)sum2=(a&b)<<1,相当于算进位的数,因为只有1+1时进位

3)结果就是sum1+sum2,当然如果这个加法还需要进位就执行第四步

4)重复上面的过程一直到进位数(a&b)<<1为零,也就是不需要进位为止

#include<iostream>
#include<stdio.h>
using namespace std;
int add(int a,int b){if(b==0)//当进位数为零时,a就是结果了return a;int num1,num2;num1=a^b;num2=(a&b)<<1;add(num1,num2);
}
int main(){int a,b;while(scanf("%d%d",&a,&b)){cout<<add(a,b)<<endl;}
}

不用+、-、×、÷数字运算符做加法相关推荐

  1. 程序员面试100题之三:不用+、-、×、÷数字运算符做加法

    题目:写一个函数,求两个整数的之和,要求在函数体内不得使用+.-.×.÷. 分析:这又是一道考察发散思维的很有意思的题目.当我们习以为常的东西被限制使用的时候,如何突破常规去思考,就是解决这个问题的关 ...

  2. c语言不使用加运算符做加法运算

    我之前的博客里有讲到cpu是怎么做加减乘除的 偶然间看到一个面试题说的是不用加法去做加运算 其实仔细想想,就是以二进制的方式来运算咯,只不过把计算机组成原理里的那套搬到编程里来 复习一下加法: cpu ...

  3. python找数字、做加法_Python数学1-2:理解数字——自然数加法,python,12,认识

    目前的数字,只能通过这样的方式来定义. z = zero() one = next(z) two = next(one) three = next(two) four = next(three) 而且 ...

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

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

  5. [剑指offer]面试题47:不用加减乘除做加法

    面试题47:不用加减乘除做加法 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷四则运算符号. 代码如下: int add(int num1, int num2) {int su ...

  6. 如何用java实现加减_用Java实现不用加减乘除做加法操作

    面试题1:不用加减乘除,求两个整数的和. import java.util.Scanner; public class GetSum { /** * 不用加减乘除做加法: * 十进制中的18和7相加: ...

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

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

  8. 【剑指offer-Java版】47不用加减乘除做加法

    不用 + - * / 做加法 输入两个整数,不使用四则运算求出这两个数的和 分析加法运算对应的位运算: 1 等价于两个数先做异或运算 – 相当于不考虑进位的加法 2 然后按位与运算并将与运算的和左移一 ...

  9. 剑指Offer_编程题 不用加减乘除做加法

    不用加减乘除做加法 时间限制:1秒 空间限制:32768K 热度指数:81997 算法知识视频讲解 题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 首先,十进 ...

  10. 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列

    一.构建乘积数组: 1.题目: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*. ...

最新文章

  1. -heap 查看当前jvm堆栈信息_必知必会的JVM工具系列二,读懂会用jhat,jstack,jstatd,JConsole...
  2. C# 以日期时间作为文件名学习总结
  3. mysql通配符_mysql通配符进行模糊查询
  4. 使用Castle做类的增强
  5. JavaScriptjQuery.函数
  6. 1061 判断题 (15 分)—PAT (Basic Level) Practice (中文)
  7. 伪元素在父元素中居中_从ArrayList中移除元素
  8. Spring Boot 搭建 Eureka Servrer 单机模式、高可用模式
  9. 用友nc java下载_用友nc的java插件下载
  10. html浏览xsd,那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)
  11. 2020入侵防御系统(IPS)TOP10
  12. 数据中心服务器芯片温度,【DKV】新建数据中心气流——第二部分:入口温度VS服务器性能...
  13. Kafka 开启 ACLs 权限控制
  14. idea复制项目并使用技巧
  15. 辽宁计算机考研学校二本,二本院校逆袭985到底有多难?
  16. 【悟空云课堂】第二十六期:通过错误消息导致的信息暴露(CWE-209:Generation of Error Message Containing Sensitive Information)
  17. 华为Ebackup模板部署
  18. css3恐龙蛋孵化动画代码
  19. powerdesign java,PowerDesigner设计数据库表
  20. linux MQ 比较全面的操作命令

热门文章

  1. 遍历~筛选~eq();filter();first();last();has();is();map();slice()
  2. 有关数组知识点的小结
  3. java从字符串中提取数字的简单实例
  4. linux之安装模式的选择
  5. scope=“prototype”和scope=“session”
  6. RequiredFieldValidator控件--必填验证控件
  7. mac os 下安装mysql
  8. 回收站引发ORACLE查询表空间使用缓慢
  9. Bambook 简介
  10. 如何设置共享Mac上的视频、音乐或照片的教程