线性反馈寄存器的编程流程图
时间: 2023-06-13 20:04:33 浏览: 230
下面是线性反馈寄存器的编程流程图:
```flow
st=>start: 开始
input=>inputoutput: 输入寄存器的位数和反馈多项式
reg=>operation: 初始化寄存器
loop=>subroutine: 循环
xor=>operation: 异或操作
shift=>operation: 移位操作
output=>inputoutput: 输出随机序列
cond=>condition: 是否达到指定长度?
e=>end: 结束
st->input->reg->loop->xor->shift->cond
cond(yes)->output->loop
cond(no)->e
xor(right)->loop
shift(right)->loop
```
说明:
1. 输入阶段,需要输入寄存器的位数和反馈多项式。
2. 初始化寄存器,将所有位都设置为0。
3. 进入循环,每次循环执行异或操作和移位操作。
4. 异或操作:将寄存器中特定位与反馈多项式进行异或运算,并将结果存储在寄存器的最低位(或最高位)。
5. 移位操作:将寄存器中的位向右移动一位,最高位填充为异或操作的结果。
6. 判断是否已经达到指定长度,若未达到则回到循环,否则结束程序。
7. 每次循环都会输出当前的随机序列位。
阅读全文