【题目】写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
* 【思路】1 不计进位,直接位运算(异或方式可实现此运算,即1+0 0+1为1,0+0 1+1位0)
* 2 与运算来获取两个整数的进位(只有1&1时为1),并左移表示进位。
* 3 将上面两部结果做异或运算。

 package com.exe10.offer;

 /**
* 【题目】写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
* 【思路】1 不计进位,直接位运算(异或方式可实现此运算,即1+0 0+1为1,0+0 1+1位0)
* 2 与运算来获取两个整数的进位(只有1&1时为1),并左移表示进位。
* 3 将上面两部结果做异或运算。
* @author WGS
*
*/
public class CalcSumNoOperation {
public int getSumNoOperation(int num1,int num2){
int sum=0;
int carry=0;
while(num2!=0){
sum=num1^num2;
carry=(num1 & num2)<<1; num1=sum;
num2=carry;
}
return num1;
} public static void main(String[] args) {
CalcSumNoOperation c=new CalcSumNoOperation();
int num=c.getSumNoOperation(-2, -1);
System.out.println(num);
} }

剑指offer系列50--不用加减乘除做加法的更多相关文章

  1. 【剑指offer】65. 不用加减乘除做加法

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

  2. 剑指 offer set 26 不用加减乘除做加法

    总结 1. Leetcode 上有一道题, 是不用乘除做乘法, 那道题算是背包问题的变形 2. 不用加减乘除, 还可以用移位操作 3. 将数字转成二进制格式, 然后运用二进制亦或, 移位运算解决 3. ...

  3. 剑指offer-面试题65-不用加减乘除做加法-位运算

    /* 题目: 在不使用加减乘除的前提下,计算两个整数之和. 思路: 不能使用加减乘除则只能考虑位运算. x=num1^num2,则为抹掉进位的结果. y=num1&num2,为只有进位的结果. ...

  4. 剑指Offer - 九度1507 - 不用加减乘除做加法

    剑指Offer - 九度1507 - 不用加减乘除做加法2013-11-29 20:00 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 输入: 输入可能包 ...

  5. 剑指offer 65. 不用加减乘除做加法(Leetcode 371. Sum of Two Integers)

    剑指offer 65. 不用加减乘除做加法(Leetcode 371. Sum of Two Integers) https://leetcode.com/problems/sum-of-two-in ...

  6. 剑指 Offer 65. 不用加减乘除做加法 + 位运算

    剑指 Offer 65. 不用加减乘除做加法 Offer_65 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author WaleGa ...

  7. 【剑指Offer】不用加减乘除做加法 解题报告(Java)

    [剑指Offer]不用加减乘除做加法 解题报告(Java) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题 ...

  8. 剑指offer(48)不用加减乘除做加法

    题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+.-.*./四则运算符号. 题目分析 不用加减乘除做加法,我第一时间想到的就是用位运算,毕竟计算机是二进制的,所有的操作都是以位运算为基础 ...

  9. 《剑指offer》第六十五题(不用加减乘除做加法)

    // 面试题65:不用加减乘除做加法 // 题目:写一个函数,求两个整数之和,要求在函数体内不得使用+.-.×.÷ // 四则运算符号. #include <iostream> int A ...

随机推荐

  1. TruSeq 应该指的是试剂盒名字 NEB

    现在中心用的是NEB试剂盒,建库步骤更简单一些.TruSeq和NEB差不多,既可以建DNA又可以建RNA. TruSeq Technology     TruSeq technology repres ...

  2. GFF format

    后记: ************************************************************************ 在使用cufflinks和cuffmerge中 ...

  3. mac中open用法

    sage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b <bundle identifier>] [-a <applicatio ...

  4. WEBRTC源码片段分析(1)音频缓冲拷贝

    源码位置webrtc/webrtc/modules/audio_device/ios/audio_device_ios.cc函数OSStatus AudioDeviceIPhone::RecordPr ...

  5. JavaScript substring() 方法

    定义和用法 substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负 ...

  6. input子系统详解

    一.初识linux输入子系统 linux输入子系统(linux input subsystem)从上到下由三层实现,分别为:输入子系统事件处理层(EventHandler).输入子系统核心层(Inpu ...

  7. POJ1637 Sightseeing tour (混合图欧拉回路)(网络流)

                                                                Sightseeing tour Time Limit: 1000MS   Me ...

  8. Git连接Github

    环境:Ubuntu Server 12.04 安装Git apt-get install git git-core 配置本机Git git config --global user.name &quo ...

  9. java计算文件32位md5值

    protected static String getFileMD5(String fileName) { File file = new File(fileName); if(!file.exist ...

  10. kuangbin_ShortPath O (LightOJ 1074)

    这是什么鬼OJ啊都没见过害的我还交错语言CE了一发摔 想着懒得重写了直接把上一题的dij改了改就交了 然后RE 反应过来这题有负环 想着怎么标记负环同时不直接结束spfa 看了别人的代码感叹了一下我还 ...