LeetCode 两个整数的加法运算,不使用+符号
2016-08-02 14:10
295 查看
public class Solution { public int getSum(int a, int b) { int carry = 0; while(b!=0){ carry = a&b; a = a^b; b = carry<<1; } return a; } }
使用^(异或)的运算结果代替单位求和的结果(由于1^1=0,0^0=0,0^1=1),使用&(And)来代替进位,为1则代表该位有进位,使用左移来代替执行进位操作。
参考资料:<a target=_blank href="http://blog.csdn.net/qq508618087/article/details/51789576">http://blog.csdn.net/qq508618087/article/details/51789576</a>
相关文章推荐
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 《剑指offer》-求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
- 剑指offer—写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 《剑指offer》写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- C++正整数的加法运算(不使用+-*/运算符号)
- 位运算实现两个整数的加法运算
- leetcode -- 442. Find All Duplicates in an Array 【数组随机性 + 数据特点 + 整数符号位使用】
- 输入一个32位的整数啊,使用按位异或运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果
- 输入一个32位的整数a,使用按位异或^运算,生成一个新的32位整数b,使得该整数b的每一位等于原整数a中该位左右两边两个bit位的异或结果
- 程序员面试(1):利用位运算完成两个整数的加法运算
- 用位运算实现两个整数的加法运算
- leetcode371 Sum Of Integers 不用加法计算两个整数的和
- 利用位运算实现两个整数的加法运算
- 《Cracking the Coding Interview程序员面试金典》----另类加法(不得使用+-x/运算符号)