懂二进制c++题解

懂二进制

http://www.nowcoder.com/questionTerminal/ba033b0d1c2f497da1dd04330cc003af

注意两点:

  1. 异或后1的个数为不同位的个数。
  2. 通过(n & (n - 1))的循环方式可以查看二进制中1的个数。
int countBitDiff(int m, int n) {
        int res = m ^ n;
        int count = 0;
        while (res) {
            ++count;
            res = res & (res - 1);
        }
        return count;
    }
全部评论

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
7 收藏 评论
分享
牛客网
牛客企业服务