classSolution{public:intadd(int a,int b){int sum =0;int temp =0;uint32_t bit =1;for(int ii =0; ii <32; ii++, bit <<=1){if(a & bit){if(b & bit){if(temp & bit) sum |= bit;
temp = bit <<1;}else{if(temp & bit) temp = bit <<1;else sum |= bit;}}else{if(b & bit){if(temp & bit) temp = bit <<1;else sum |= bit;}else sum |= temp & bit;}}return sum;}};
剑指 Offer 65. 不用加减乘除做加法class Solution {public: int myAdd(uint32_t a, uint32_t b) { if(!b) return a; return myAdd(a ^ b, (a & b) << 1); } int add(int a, int b) { return myAdd(a, b); }};class Solution {