在python中使用Shift操作符进行LFSR

时间:2016-08-15 02:12:34

标签: python bit-shift

假设我想使用其原生移位运算符在Python中编写16位线性反馈移位寄存器LFSR。

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

1 个答案:

答案 0 :(得分:1)

Python没有寄存器,您无法声明任何类型。

移位运算符以无限精度整数运算。如果向左移动,数字将继续无限增大(或直到内存不足)。如果你向右移动,最低有效位会像你期望的那样被丢弃。没有“进位标志”,这是你在汇编语言中看到的东西,而Python不是汇编。由于整数具有无限的精度,逻辑和算术移位在某种意义上是相同的(如果你想象符号位无限重复)。

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

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