不用加减乘除做加法

不用加减乘除做加法

写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、*、/ 四则运算符号

解题思路

使用位运算来解题,具体步骤如下:

  • 两个数异或:相当于每一位相加,而不考虑进位
  • 两个数相与,并左移一位:相当于求得进位
  • 将上述两个步骤的结果相加

重复执行上述步骤,直到进位为 0,由于没有进位了,所以此时相加的结果就是最终结果

public class Solution {
    public int Add(int num1,int num2) {
        while(num2 != 0) {
            int temp = num1^num2;
            num2 = (num1&num2) << 1;
            num1 = temp;
        }
        return num1;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2604.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数仓数据分层(ODS DWD DWS ADS)换个角度看

    数仓数据分层(ODS DWD DWS ADS)换个角度看数仓数据分层简介1.背景数仓是什么,其实就是存储数据,体现历史变化的一个数据仓库.因为互联网时代到来,基于数据量的大小,分为了传统数仓和现代数仓.传统数仓,使用传统的关系型数据库进行数据存储,因为关系型数据库本身可以使用SQL以及函数等做数据分析.所以把数据存储和数据分析功能集合为一体,加上一个可视化界面,就能从数据存储,数据分析,数据展示完整方案.到了互联网时代,由于上网用户剧增,特别是移动互联网时代,海量的网络设备,导致了海量的数据产生,企业需要也希望从这些海量数据中挖掘有效信息,如行为

    2022年6月26日
    70
  • spring框架常用的注解_springmvc中注解的作用

    spring框架常用的注解_springmvc中注解的作用一、Spring常用注解Spring常用注解(绝对经典)二、Jpa1、@Entity,@Table(name=””)表明这是一个实体类,一般用于jpa,这两个注解一块使用,但是如果表名和实体类名相同的话,@Table可以省略。2、@MappedSuperClass基于代码复用和模型分离的思想,在项目开发中使用jpa的@MappedSuperClass注解,将实体类的多个属性分别封装到不同的非实体类中。例如,数据库表中都需要id来表示编号,id是这些映射实体类的通用属性,交给jpa统

    2022年10月22日
    0
  • 阶乘相加

    阶乘相加阶乘相加

    2022年4月24日
    44
  • Windows phone 7更新已经支持复制/粘贴[有图有真相]

    Windows phone 7更新已经支持复制/粘贴[有图有真相]

    2021年8月9日
    65
  • 俞敏洪与新东方_新东方俞敏洪现状

    俞敏洪与新东方_新东方俞敏洪现状俞敏洪与新东方“江阴模式”助俞敏洪考上北大  俞敏洪,1962年出生于江苏省江阴。  俞敏洪出生在一个普通的农村家庭里,父亲是一名木匠,母亲则是当地生产队的妇女队长,她有与这一职位对应果敢的作风。俞敏洪还有一个姐姐,是一名赤脚医生。作为一个农家孩子,俞敏洪回忆:我从小就在农田里干活,插秧、割稻、撒猪粪,样样都干……  母亲希望他的人生能有某种意义上的改变,希望…

    2022年9月13日
    0
  • tomcat日志设置与详解

    tomcat日志设置与详解1&nbsp;&nbsp;&nbsp;Tomcat日志概述Tomcat日志信息分为两类:一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息。二是访问日志信息,它记录的访问的时间,IP,访问的资料等相关信息。2&nbsp;&nbsp;&nbsp;Tomcat日志配置2.1&nb…

    2022年6月20日
    114

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号