位运算操作

位运算

Posted by CSuperlei on May 11, 2020

位运算操作

思想

  • 判读一个二进制数第k位是0还是1 n » k & 1

  • lowbit操作 返回二进制数最后一位1所代表的数 res = x & (-x)

特点

#include <iostream>
#include <algorithm>

using namespace std;

int lowbit(int x)
{
    return x & (-x);
}


int main()
{
    int n;
    cin >> n;
    while (n --)
    {
        int x;
        cin >> x;
        int res = 0;        
        while (x) x - lowbit(x), res++;
        cout << res << endl;
    }



    return 0;
}