题目描述:
给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。
代码:
class Solution {
public int findComplement(int num) {
int p = 34,ans = 0;
int []bin = new int[35];
while(num != 0) {
bin[p--] = num % 2;
num /= 2;
}
while(++p < 35) {
ans = ans * 2 + 1 - bin[p];
}
return ans;
}
}