x-1代表意思?int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);//什么意思?}return countx;} 假定x = 9999.8思路:将x转化为2进制,看含有的1的个数

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/29 09:04:54
x-1代表意思?intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);//什么意思?}returncountx;}假定x=9999.8思路:将x转化为2

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 就要比求模快的多