- ベストアンサー
ソフトウェア開発技術者試験でのCRCの送信データに関する疑問
- ソフトウェア開発技術者試験の勉強中の普通科、高卒の者がCRCの送信データの多項式について疑問を持っています。
- 疑問1では、なぜ生成多項式Bが特定の式になるのかがわからず、疑問2ではなぜ生成多項式Bの次数が3なのかがわからないと質問しています。
- さらに疑問3では、C/Bの計算式が成り立つ理由とXの5乗が答えに入る理由について知りたいとしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普通に十進数で割り算の筆算をするのと同じです。 十進数も多項式に置き換えることが出来ます。 例えば2007だと、10の3乗×2+10の0乗×7となります。 そう考えれば、多項式だろうが普通の筆算で解くことができます。 ちなみに参考URLを載せておきます。 何かあれば、また補足ください。
その他の回答 (1)
- ibe_tattsu
- ベストアンサー率70% (36/51)
詳しくはないのですが、資料と自分の考えを元に回答します。 まず、疑問1 送信したいデータを多項式としてあらわしたもの。これがAとなります。 そしてBですが、基本的にCRC符号の生成多項式は定義されています。 しかし、今回用いられたのはその問題用に簡単にされたものではないでしょうか? 実際に使われている生成多項式は、検索すれば見つかると思います。 次に、疑問2 Bの次数が3となっていますが、これはBが次数3の多項式であるからです。 そのため、Bの次数ほどAを左にシフト(末尾に0をつけるとも)します。 最後に、疑問3 >どうすれば、この計算式が成り立つのでしょうか? とは、どのことでしょうか?C/Bのことでしょうか? このことならば、CRCのアルゴリズムとしか言いようがありません。 CRCは一定の手順で作成した多項式を、生成多項式で割った余りを検査符号とするものです。 なぜ、xの5乗+1が答え(商)となるのかは実際に計算してみれば分かります。 多項式同士の割り算で簡単に答えが出ます。 以上となりますが、少しでも参考となれば幸いです。
補足
ご回答をありがとうございました。 >なぜ、xの5乗+1が答え(商)となるのかは実際に計算してみれば >分かります。 すみません。この実際の計算方法が解らないのです。 もう少し、具体的にご指導をいただければ幸いです。
補足
わかりやすいURLでした。ありがとうございます。 話が戻りますが、 >(疑問1) >なぜ、Bがこの式になるのでしょうか? これが、やはり解りません。 何度も恐縮ですが、宜しくお願い致します。