我对这个主题有点陌生。
最初的想法是使用 LFSR 生成一个随机数。到目前为止,我已经使用 c# 开发了一种 LFSR 方法。一旦函数被调用,它就会一直返回相同的值。
为了在每次运行程序时收集不同的随机数,我必须更改什么?
int lfsr1()
{
int start_state = 5; /* Any nonzero start state will work. */
int lfsr = start_state;
int bit; /* Must be 16-bit to allow bit<<15 later in the code */
/* taps: 16 14 13 11; feedback polynomial: x^16 + x^14 + x^13 + x^11 + 1 */
bit = ((lfsr >> 0) ^ (lfsr >> 2) ^ (lfsr >> 3) ^ (lfsr >> 5)) /* & 1u */;
lfsr = (lfsr >> 1) | (bit << 15);
return lfsr;
}
称呼
Console.Write(lfsr1());
输出始终相同。