符号(コード)化に必要なビット数

forget-me-not 東京通信大学

「ビット」「データ転送」などが並ぶ問題がすっごい苦手です。
そこに2進数なんかが入るともうお手上げです。

でも、TOUでもプログラム系の科目を履修するので、避けて通ることはできません。というわけで、徹底的に考え、理解できるようになるしかありません。

実例:2013(平成25)年 春 午前 問2

1秒間に一定間隔で16個のパルスを送ることができる通信路を使って、0~9、A~Fの16種類の文字を送るとき、1秒間に最大何文字を送ることができるか。ここで、1ビットは1個のパルスで表し、圧縮は行わないものとする。

ア 1  イ 2  ウ 4  エ 8

問題文・選択肢が「それ何?」と一瞬考えてしまう言葉で表現されることがあります。この問題に限らずです。用語の「言い換え」をしているケースがあります。

この問題文にある「16個のパルス」とは「16ビットのデータ」の言い換えです。

つまり「1秒間に16ビットのデータを送る」ことができるといっていることになります。
そこで「16ビットのデータで送る」ことができる文字数が解答となります。

問題文にある数字の0から9、英字のAからFの文字をビットで送るには、0と1を使い、表し、置き換えます。これが符号(コード)化です。

🍪 1ビットで表すことができる文字の種類 → 2種類(0・1)
🍪 2ビットで表すことができる文字の種類 → 4種類(00・01・10・11)
🍪 3ビットで表すことができる文字の種類
→ 8種類(000・001・010・011・100・101・110・111)
🍪 4ビットで表すことができる文字の種類
→ 16種類(0000・0001・0010・0011・0100・0101・0110・0111・1000・1001・1010・1011・1100・1101・1110・1111)

問題文に「0~9、A~Fの16種類の文字を送る」とあります。
そこで、1文字を送るために4ビットのデータを送ることになるということが分かります。

「1秒間に16ビットのデータを送る」ことができるので、16ビット ÷ 4ビット =4文字 となります。
正解は「ウ 4」となります。

上記の問題より「1ビット増えるたびに、表示できる文字の種類は2倍に増える。」ということが分かります。

これで次の問題も簡単に解くことができます。(^-^)v

実例:2012(平成24)年 秋 午前 問4

英字の大文字(A~Z)と数字(0~9)を同一のビット数で一意にコード化するには,少なくとも何ビットが必要か。

ア 5  イ 6  ウ 7  エ 8

まずコード化する文字の種類の数を考えます。
英字の大文字(A~Z) = 26文字、数字(0~9) = 10文字、合計36種類の文字となります。

各ビットで表現できる文字の種類の数は次の通りです。

🍪 1ビット → 2種類
🍪 2ビット → 4種類
🍪 3ビット → 8種類
🍪 4ビット → 16種類
🍪 5ビット → 32種類
🍪 6ビット → 72種類

5ビットだと32種類なので足りません。6ビットだと72種類となり、36種類の文字をカバーできる数となります。
そこで、6ビット必要となり、解答は「イ 6」です。

コメント

タイトルとURLをコピーしました