for (i = 0, j = index ; i < 9 ; i++, j += stride)
{
two |= (one & xpos[j]);
}
one &= ~two;
var bit = one & -one;
one -= bit;
有下面几个地方看不懂是什么意思,请解释一下
1:
for (i = 0, j = index ; i < 9 ; i++, j += stride)
表示一个循环,初始值i=0,j=index
循环的结束条件是i=9
每次循环结束时,就做运算i=i+1,j=j+stride
这个理解正确不?
2:
two |= (one & xpos[j]);
这个有两个地方不懂
|=是什么意思?
one & xpos[j] 中的&是什么运算符号
3:
bit = one & -one;
同上不清楚 & 是什么意思
4:
one -= bit;
是表示one=one-bit 还是 one=bit-one
请讲讲,分不多聊表寸心