算法学习之路 二进制操作
/*
有关二进制的基本操作分为两类:
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");
}

浙公网安备 33010602011771号