x-1代表意思?int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);//什么意思?}return countx;} 假定x = 9999.8思路:将x转化为2进制,看含有的1的个数
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 00:35:28
![x-1代表意思?int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);//什么意思?}return countx;} 假定x = 9999.8思路:将x转化为2进制,看含有的1的个数](/uploads/image/z/10222330-58-0.jpg?t=x-1%E4%BB%A3%E8%A1%A8%E6%84%8F%E6%80%9D%3Fint+func%28x%29%7Bint+countx+%3D+0%3Bwhile%28x%29%7Bcountx+%2B%2B%3Bx+%3D+x%26%28x-1%29%3B%2F%2F%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%3F%7Dreturn+countx%3B%7D+%E5%81%87%E5%AE%9Ax+%3D+9999.8%E6%80%9D%E8%B7%AF%EF%BC%9A%E5%B0%86x%E8%BD%AC%E5%8C%96%E4%B8%BA2%E8%BF%9B%E5%88%B6%2C%E7%9C%8B%E5%90%AB%E6%9C%89%E7%9A%841%E7%9A%84%E4%B8%AA%E6%95%B0)
x-1代表意思?int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);//什么意思?}return countx;} 假定x = 9999.8思路:将x转化为2进制,看含有的1的个数
x-1代表意思?
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);//什么意思?
}
return countx;
}
假定x = 9999.8
思路:将x转化为2进制,看含有的1的个数
x-1代表意思?int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);//什么意思?}return countx;} 假定x = 9999.8思路:将x转化为2进制,看含有的1的个数
x&x-1是x与x-1的2进制按位求与,至于结果的作用就要慢慢体会了,位运算含义不直观,但效率高,比如判断奇偶数用位运算 x&1 就要比求模快的多