Python
 Computer >> コンピューター >  >> プログラミング >> Python

巡回冗長検査へのPythonプログラム


デジタルデータのエラーを検出するためにCRCが使用され、これは伝送エラーを検出するための優れた手法です。この手法では、主に2進除算が適用されます。

これらの手法では、冗長ビットのシーケンスである巡回冗長検査ビットが存在します。これらのビットはデータユニットの末尾に追加されるため、結果のデータユニットは所定の2進数である1秒で正確に割り切れます。

宛先側では、受信データが同じ数で除算されます。余りがない場合は、データが正しく、受け入れる準備ができていると見なされます。

残りは、移行中に何かが発生したことを示し、データユニットが損傷しています。したがって、このデータユニットは受け入れられません。

巡回冗長検査へのPythonプログラム

サンプルコード

frompycrc.crclib import *
def main():
#-----------------------------------------------------------------------------
#Sender Side
div = str(input("Input divisor in binary type: "))
#user_dataword = str(raw_input("Input dataword in binary type: "))
userdataword = '1001'
print ("\nSender:")
sen = Sender(bin2dec(userdataword), div)
sen.send()
print ("arg_dataword:", sen.arg_dataword2)
print ("remainder:", sen.remainder2)
print ("codeword:", sen.codeword2)
#-----------------------------------------------------------------------------
#Channel
print ("\nChannel:")
ch = Channel(sen.codeword)
print ("Through to the channel get channel codeword:", dec2bin(ch.ch_codeword))
#-----------------------------------------------------------------------------
#Receiver Side
print ("\nReceiver:")
rcv = Receiver(ch.ch_codeword, div)
rcv.receive()
print ("syndrome:", rcv.syndrome2)
print ("Discard or not?", rcv.discard)
print ("rx_dataword:", rcv.rx_dataword2)
if __name__ == '__main__':
   main()

出力

Sender
Input dataword in binary type 1010000
arg_dataword:1010000000
remainder: 011
codeword:1010000011
Receiver
syndrome:1010000011
Discard or not? N
rx_dataword:1010000011

  1. DiskPartエラー、データエラー巡回冗長検査

    コンピュータでDiskPartを実行しているときに、 DiskPartでエラーが発生しました:データエラー(巡回冗長検査)というエラーが発生した場合 、これが問題を修正する方法です。コンピュータでこのエラーが発生する理由はさまざまです。この記事では、すべての原因と解決策について説明します。 DiskPartとFSUTILは、ハードドライブに関連するさまざまなタスクを実行するために使用できる組み込みのコマンドラインツールです。 DiskPartは、ファイルエクスプローラーオプションでは不可能なさまざまなことを実行します。ただし、このユーティリティにエラーが表示されている場合は、コンピュー

  2. Windows 10 でのデータ エラー巡回冗長検査の修正

    一部のファイルまたはフォルダをディスク ドライブまたは外付けドライブにコピーする際に、巡回冗長検査でデータ エラーが発生しましたか? Cyclic Redundancy Check は、データ検証に使用されるエラー検出コードです。このエラー メッセージが表示された場合は、ファイルまたはハード ドライブに問題があることを意味します。また、このエラーは Outlook でも発生することがあります。Outlook ツールが電子メールをコンピュータにダウンロードした後、Data Error Cyclic Redundancy Check が表示されます。 エラーにより、ダウンロードしたメッセージを表示