【小米】懂二进制

题目描述

世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么?

示例1

输入

复制

1999 2299

输出

复制

7
class Solution {
public:
    /**
     * 获得两个整形二进制表达位数不同的数量
     * 
     * @param m 整数m
     * @param n 整数n
     * @return 整型
     */
    int countBitDiff(int m, int n) {
        int sum = m^n;
        int ans=0;
        while(sum)
        {
            ans++;
            sum = sum&(sum-1);
        }
        return ans;
    }
};

猜你喜欢

转载自blog.csdn.net/leetcodecl/article/details/82957790
今日推荐