比較がどのようにうまくいかないのかわかりませんが、私は問題に取り組んでいます。多項式長除算モジュロ 2 を実行しようとしています。
while len(binCrcGen) <= len(binPayload) and binPayload:
if binPayload[0] == binCrcGen[0]:
del binPayload[0]
for j in range(len(binCrcGen)-1):
if binPayload[j] == binCrcGen[j+1]:
binPayload.insert(binPayload[j],0)
del binPayload[j+1]
print(binPayload, "binPayload")
else:
binPayload.insert(binPayload[j],1)
del binPayload[j+1]
print(binPayload, "binPayload")
ただし、私の出力は次のとおりです。
Input the binary data payload: 10010
Input the binary representation of the CRC generator: 11
[1, 0, 1, 0] binPayload
[1, 1, 0] binPayload
[1, 0] binPayload
[1] binPayload -- wrong here 1 xor 1 should bring 0 to list.
[1] Remainder
[1, 1] binCrCGen
The data transmitted with the payload 1001 is protected by the CRC 11 is 10011
手で計算すると、残りの 00 が得られ、空白のリストが削除されると空白のリストになります。