编程之美——求两个整数不同位数的个数

  • 异或操作可以将不同的位,置为1,然后再统计出1的个数就可以计算出不同位数的个数。
#include <iostream>

using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    int c = a ^ b;
    int num = 0;
    while (c) {
        num++;
        c = c & (c - 1);
    }
    cout << num << endl;
    return 0;
}
posted @ 2017-10-13 20:20  清水汪汪  阅读(189)  评论(0编辑  收藏  举报