Leetcode 476. 数字的补数

class Solution {
public:
    int findComplement(int num) {
        int sum = 0;
        long long x = 1;

        while(num){
            int shang = num/2;
            int yu = num%2;
            int y = (yu == 1)?0:1;

            sum += x*y;
            x = x*2;
            num = shang;
        }
        return sum;
    }
};
原文地址:https://www.cnblogs.com/cunyusup/p/14251959.html