标签:span return 二进制 amp 结果 int while 位运算 solution
用位运算模拟加法,num1+num2的加法结果可以分为两个部分,一部分为二进制位加法产生了进位的结果,另一部分是二进制位加法没产生进位的结果。
比如3+5,二进制011+101,产生进位的结果为最后一位1+1,进到倒数第二位,结果为010。没产生进位的是第1位0+1和第二位1+0,结果110。
1 class Solution { 2 public: 3 int Add(int num1, int num2) 4 { 5 while(num1){//num1存加法的进位结果 6 int temp=num2; 7 num2=num1^num2; 8 num1=(num1&temp)<<1; 9 } 10 return num2; 11 } 12 };
标签:span return 二进制 amp 结果 int while 位运算 solution
原文地址:https://www.cnblogs.com/FdWzy/p/12293546.html