2016-08-15 38 views
0

假设我想用Python的本地移位运算符在Python中编写一个16位线性反馈移位寄存器LFSR。在python中使用LFSR的移位运算符

  1. 操作员本身是否具有指定要移入新MSB位置的位的功能?
  2. 操作员是否有进位标志或类似的东西来捕捉LSB掉出寄存器?
  3. 必须将寄存器设置为16位大小?不知道如何在变量没有明确输入的Python中执行此操作。
  4. 什么是计算反馈的多位XOR函数的最明智的方法。实际位提取或查找表?

感谢, 格特

+0

您确定要在Python中执行此操作吗? – Akilesh

回答

1

Python没有登记,你不能宣布任何东西的类型。

移位操作符以无限精度整数运算。如果向左移动,数字将继续无限增大(或直到内存不足)。如果向右移动,则最不重要的位将按照您的预期丢弃。没有“进位标志”,这是你在汇编语言中看到的东西,而Python不是汇编语言。由于整数具有无限精度,因此在某种意义上(如果您认为符号位重复无限期地),逻辑和算术移位是等同的。

任何时候你想要固定宽度的操作,你只需要屏蔽无限精度操作的结果。

至于“最聪明”的做某事的方法,这对Stack Overflow来说并不是一个合适的问题。