标签:位运算 异或 符号 退出 solution 运算 array com lap
一、题目
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
二、思路
三、代码
public class Solution { public int Add(int num1,int num2) { while( num2!=0 ){ //当进位等于0的时候,返回异或的结果,即是要求的和 int sum = num1 ^ num2; //两个数异或:相当于每一位相加,而不考虑进位 int carray = (num1 & num2) << 1;//两个数相与:并左移一位:相当于求得进位 num1 = sum; num2 = carray; } return num1; } }
---------------------------------------------
参考链接:
https://www.nowcoder.com/questionTerminal/59ac416b4b944300b617d4f7f111b215
标签:位运算 异或 符号 退出 solution 运算 array com lap
原文地址:http://www.cnblogs.com/hezhiyao/p/7662249.html