编辑:模式返回伪随机数发生器
这么多的没有的我是问什么想法的反应。由于,我已经改写了问题。
extern unsigned short lfsr();
int foo[65536];
for (int i = 0; i < 65536; i++)
foo[lfsr()] = 1;
// every element of foo has been set to 1.
我要为lfsr()
它返回一个伪随机16位值,0源代码65535。如果所谓的65536倍,将已回到每一个数字从0到65535只出现一次,不重复。如果你再次使用它,它会返回相同的顺序。不是一个很好的随机数发生器,但它有它的用途。
我曾经为这个代码从布斯博士。计算机健美操和矫正各地1984年
这似乎非常相似,噪声发生器,但例外的是重复循环并不会为工作音频。渲染相同的64K 16位PCM采样在48 kHz下不到1.5秒会显着重复,我从来没有听说过16位噪声发生器。
注意: 一个混洗方法不会在1984年工作,因为该阵列将需要128K,这将超过Apple [或类似计算机上的可用内存的两倍。
答案: 感谢的Jesper居尔和吉姆米契尔用于识别它作为一个LFSR,线性反馈移位寄存器和在哪里找到原始制品。
对不起,原来的问题不好,谢谢你的时间。
我几次读你的问题,但我不明白你想要什么。你想要一种产生随机数的方法吗?或者你想要一种方式来产生粉红噪声(1/f噪声)? –
问题乞求代码得到关闭在这里相当快题外投票。你应该[编辑]你的问题删除这些部分。 – user694733
在您最喜爱的搜索引擎中打“匆忙布丁”。 –