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