按位与 &
她是位运算的一种
有兴趣的可以去看看我的博客:异或讲解
我似乎正经了
运算法则:
二进制的每一位:
0&0=0
1&0=0
0&1=0
1&1=1
总结:必须两个1才为真
一些功能:
一个要点:
a & (a-1)所得到的数,是在a的基础上把a最右边的一个 1 变成 0
运用:
给一个正数,求她的二进制中1的个数:
思想:用上面的结论,如果一个二进制数还有1没变成0,就循环变成0,计数器+1,直到二进制数全部变为0,即 假 ,循环结束
核心代码:cpp
int get(B n)
//B 指二进制数
{
int ans=0;
while