応用情報技術者 2009年 秋期 午前2 問04
問題文
誤り検出方式である CRC に関する記述として、適切なものはどれか。
選択肢
ア:検査用のデータは、 検査対象のデータを生成多項式で処理して得られる 1 ビットの値である。
イ:受信側では、付加されてきた検査用のデータで検査対象のデータを割り、余りがなければ送信が正しかったと判断する。
ウ:送信側では、生成多項式を用いて検査対象のデータから検査用のデータを作り、これを検査対象のデータに付けて送信する。(正解)
エ:送信側と受信側では、異なる生成多項式が用いられる。
CRC(巡回冗長検査)に関する記述【午前2 解説】
要点まとめ
- 結論:CRCは送信側で生成多項式を使い検査用データを作成し、元データに付加して送信する方式です。
- 根拠:CRCは多項式除算の余りを検査用データとして付加し、受信側で同じ生成多項式を使って誤り検出を行います。
- 差がつくポイント:生成多項式は送受信で共通であり、検査用データは1ビットではなく複数ビットの余りである点を正確に理解することが重要です。
正解の理由
選択肢ウは「送信側で生成多項式を用いて検査対象のデータから検査用のデータを作り、これを検査対象のデータに付けて送信する」とあり、CRCの基本的な動作を正しく説明しています。CRCは送信側で多項式除算を行い、その余りを検査用データ(CRCコード)として元データに付加し、受信側で同じ多項式を使って誤り検出を行います。
よくある誤解
- CRCの検査用データは1ビットではなく複数ビットの余りであるため、アの説明は誤りです。
- 生成多項式は送受信で共通に使うため、エの「異なる生成多項式を使う」は誤解です。
解法ステップ
- CRCの基本原理を理解する(多項式除算による余りを検査用データとする)。
- 送信側は生成多項式で元データを割り、余りを付加して送信することを確認。
- 受信側は付加されたデータ全体を同じ生成多項式で割り、余りがゼロなら誤りなしと判断する。
- 選択肢の記述と照らし合わせて正しい説明を選ぶ。
選択肢別の誤答解説
- ア:検査用データは1ビットではなく、生成多項式の次数に応じた複数ビットの余りです。
- イ:受信側は検査用データで割るのではなく、付加された全データを生成多項式で割ります。
- ウ:正解。送信側で生成多項式を使い検査用データを作成し、元データに付加する説明が正しい。
- エ:送信側と受信側は同じ生成多項式を使うため、異なる多項式を使うのは誤りです。
補足コラム
CRCは誤り検出能力が高く、通信やストレージのデータ整合性確認に広く使われています。生成多項式は標準化されており、例えばCRC-32では32ビットの多項式が使われます。多項式除算はビット単位の演算で効率的に実装可能です。
FAQ
Q: CRCの検査用データは何ビットですか?
A: 生成多項式の次数に等しいビット数の余りが検査用データとなります。
A: 生成多項式の次数に等しいビット数の余りが検査用データとなります。
Q: 送信側と受信側で異なる生成多項式を使っても良いですか?
A: いいえ、同じ生成多項式を使わなければ正しく誤り検出できません。
A: いいえ、同じ生成多項式を使わなければ正しく誤り検出できません。
関連キーワード: CRC, 巡回冗長検査、生成多項式、誤り検出、多項式除算

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

