C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: CRC32の計算について


(過去ログ 130 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■76935 / inTopicNo.1)  CRC32の計算について
  
□投稿者/ いるか (1回)-(2015/08/30(Sun) 03:03:30)

分類:[VB.NET/VB2005 以降] 

環境はVB2010になります。

以下のパラメータを用いて、
CRCの計算のプログラムを作成しようとしておりますが、
入力反射と出力反射が理解できておらず、
入力反射と出力反射をあり→なしに変更する方法がわかりません。
ご教示ねがいます。(以下のプログラムは入力反射と出力反射がありのままの状態になっております。)

【パラメータ】
多項式   − 04C11DB7
初期値   − 0
入力反射 − なし
出力反射 − なし
出力XOR  − 0

【プログラム】
    'テーブル作成
    Shared Sub InitTable()
        Dim poly As UInteger = &HEDB88320UI
        table = New UInteger(255) {}
        Dim temp As UInteger = 0
        For i As UInteger = 0 To table.Length - 1
            temp = i
            For j As Integer = 8 To 1 Step -1
                If (temp And 1) = 1 Then
                    temp = CUInt((temp >> 1) Xor poly)
                Else
                    temp >>= 1
                End If
            Next
            table(i) = temp
        Next
    End Sub

    'CRC取得
    Public Shared Function GetCrc(ByVal bytes As Byte()) As UInteger
        Dim crc As UInteger = &H0UI
        For i As Integer = 0 To bytes.Length - 1
            Dim index As Byte = CByte(((crc) And &HFF) Xor bytes(i))
            crc = CUInt((crc >> 8) Xor table(index))
        Next
        Return crc

    End Function



引用返信 編集キー/
■76936 / inTopicNo.2)  Re[1]: CRC32の計算について
□投稿者/ いるか (2回)-(2015/08/30(Sun) 03:33:15)
解決しました
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -