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

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/14 13:23:27
x-1代表意思?int func(x){int countx = 0;while(x){countx ++;x = x&(x-1);//什么意思?}return countx;} 假定x = 9999.8思路:将x转化为2进制,看含有的1的个数
xQN@jŕߢ#!6!$@HCR HD)D33q/x[*ƍ;i;sΜ{MnhC2$y~L5ńl3A0h!V84IJDXDp $S, ~Oe 5ߜ`6\w?RDa#"2 dI\PJ"0QFS,d.rH/gz"KY^uhNcEjV©!45j8 /8hhtxsR|qxW[ݕ(

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