2016-08-15 301 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來說並不是一個合適的問題。