伪随机数发生器 LFSR
时间: 2024-01-24 21:15:12 浏览: 160
伪随机数发生器
LFSR(线性反馈移位寄存器)是一种常用的伪随机数发生器。它是一种移位寄存器,通过将寄存器的位进行移位和异或操作来伪随机序列。LFSR的结构简单,易于实现,并且具有良好的统计特性。
下面是一个使用LFSR生成伪随机数的示例代码:
```python
def lfsr(seed, taps):
lfsr = seed
while True:
xor = lfsr & taps
xor = (xor >> 1) ^ xor
lfsr = (lfsr >> 1) | (xor << (len(bin(taps)) - 3))
yield lfsr
seed = 0b10101010 # 初始种子
taps = 0b11000010 # 反馈多项式
generator = lfsr(seed, taps)
random_numbers = [next(generator) for _ in range(10)]
print(random_numbers)
```
这段代码中,`lfsr`函数接受一个初始种子和一个反馈多项式作为参数,返回一个生成器对象。通过调用`next`函数,我们可以逐个获取生成的伪随机数。在示例中,我们生成了10个伪随机数并打印输出。
阅读全文