算法学习之路 二进制操作

/*

有关二进制的基本操作分为两类:

1:二进制中 1 的个数;

2:二进制中的lowbit操作;(即二进制数中最后一位 1 的位置)

*/ 

//二进制输出:(以10为例)

int n;
    cin>>n;
    for(int k = log2(n);k >= 0; k--)
        cout<<(n >> k & 1);
    return 0;
// k 的边界值看n的二进制位数;
 
//二进制的lowbit(x)的操作(利用lowbit求1的个数)
int lowbit(int x)
{
    return x & -x;
}
int main()
{
    int x;
    int res = 0;
    cin >> x;
    while(x)
    {
        x -= lowbit(x);
        res++;
    }
    cout<<res;
    return 0;
    system("pause");

}
posted @ 2022-07-30 08:17  硬核小马  阅读(73)  评论(2编辑  收藏  举报