【题目描述】
【思路】
异或是不进位加法
按位与得到该是否要进位
class Solution {
public static String toBinary(int n){
StringBuilder sb = new StringBuilder();
for(int i = 31; i >= 0; i -- ) sb.append( (n >> i & 1));
return sb.toString();
}
public int add(int num1, int num2) {
while( num2 != 0){ //还有进位
int sum = num1 ^ num2; //异或是不进位加法
int carry = (num1 & num2) << 1; //进位
num1 = sum;
num2 = carry;
}
return num1;
}
}