0
这是一个简单的问题,但我卡住了。这里是一个准随机数发生器的代码this paper。C++的for循环 - 测试部分
void PlaneHammersley(float *result, int n)
{
float p, u, v;
int k, kk, pos;
for (k=0, pos=0 ; k<n ; k++) {
u = 0;
for (p=0.5, kk=k ; kk ; p*=0.5, kk>>=1)
if (kk & 1) // kk mod 2 == 1
u += p;
v = (k + 0.5)/n;
result[pos++] = u;
result[pos++] = v;
}
}
我尝试在Python中进行翻译,第二个for循环对我来说是神秘的。结束条件是kk
这是一个int,我不知道它何时评估为True。有人可以解释发生了什么吗?
谢谢。
非零=真 – Gir 2012-08-11 12:33:07
我很好奇,怎么这个代码工作 – texasbruce 2012-08-11 13:34:09