进位值与非进位值一直异或,直至进位值为0结束。
public class Solution { public int Add(int num1,int num2) { while(num2!=0){//当进位为0时加法完成 int temp = num1^num2;//先查看非进位值 num2 = (num1&num2)<<1;//再查看进位值 num1 = temp; } return num1; } }
进位值与非进位值一直异或,直至进位值为0结束。
public class Solution { public int Add(int num1,int num2) { while(num2!=0){//当进位为0时加法完成 int temp = num1^num2;//先查看非进位值 num2 = (num1&num2)<<1;//再查看进位值 num1 = temp; } return num1; } }