6

検索しましたが、それが何であるか、どのように計算されるかについての情報を見つけることができません。


質問が反対票を投じられた理由がわかりません。それは明確ではなく、プログラミング関連ですか?または、私は尋ねるべきでした:

# Or you can compute the running CRC:
$crc = 0;
$crc = Archive::Zip::computeCRC32( 'abcdef', $crc );
$crc = Archive::Zip::computeCRC32( 'ghijkl', $crc );

ここで正確に何が起こりますか?

4

1 に答える 1

10

まあ、基本的にはただのCRCです。実行中という言葉は、データが入ってきたときにオンザフライで計算することになっていること、または累積計算を行っていることを意味します (これが CRC の実装方法です)。

あなたは良い例を持っています:

  # Or you can compute the running CRC:
  $crc = 0;
  $crc = Archive::Zip::computeCRC32( 'abcdef', $crc );
  $crc = Archive::Zip::computeCRC32( 'ghijkl', $crc );

$crc変数が最初に 0 に設定され、2 回更新されることに注意してください。CRC 計算のアルゴリズムは、以前に計算された CRC 値を使用して更新します。そのため、 running CRCと呼ばれることもあります。

あなたのコードから、すでに実装があると思いますが、そうでない場合は、単に CRC32 をグーグルで検索してください。

于 2009-06-08T10:10:59.327 に答える