こんにちは。福田泰裕です。
この記事では、高等学校で履修する『情報Ⅰ』第2章「コミュニケーションと情報デザイン」より、「(6) 2進数と16進数の基数変換」について解説していきます。
最後まで読んでいただけると、嬉しいです!
目次
この記事の内容は、私がYoutubeに公開している『情報Ⅰ授業動画②-(6)』を文字起こししたものです。
ぜひ、チャンネル登録よろしくお願いします!
今回は、16進数について学習していきます。
16進数とは、『16』を基数とする数の表し方です。
そのため、使う数字は16個必要になります。
しかし、私たちが普段使う数字は『0~9』の10個しかないので、アルファベットの『A~F』の6個を借りて、「Aを10」、「Bを11」、「Cを12」……というように当てはめて、『0~F』の16個の数を使って、16進数を表します。
16進数は『基数が16』なので、1桁上がるごとに桁の重みは16倍になります。
つまり、1の位の1つ上は『16の位』。
その1つ上は、\(16^2\)、『256の位』。
その1つ上は、\(16^3\)、『4096の位』となります。
それでは、16進数から10進数への基数変換を考えていきましょう。
基本的には、2進数と10進数の基数変換と同じように計算していきます。
ここでは、16進数で表された『2AC(16)』という数を10進数に基数変換していきます。
まず『2AC(16)』を『256の位』、『16の位』、『1の位』の箱に入れます。
ここで、「Aは10」、「Cは12」を表していることに注意しましょう。
あとは、縦にかけて、横に足すと、10進数の『684』に基数変換することができました。
次は、10進数を16進数に基数変換していきましょう。
2進数に基数変換するとき、2で割った余りを順に書き並べた手順と同様に、16進数に基数変換するときは、16で割った余りを順に書き並べていきます。
ここでは『700』を、16進数に基数変換してみましょう。
\(700 \div 16 = 43 \cdots 12\)
\(43 \div 16 = 2 \cdots 11\)
商が16未満になったところで、割り算は終了です。
下からたどると、『2→11→12』となっています。
16進数では「11はB」、「12はC」なので、『700』を16進数に基数変換すると『2BC(16)』となります。
また、この割り算を簡略化して、右のように書くこともできます。
このように、16で割った余りを書き並べることで、10進数を16進数に基数変換できるのです。
そしてこの16進数は、2進数との相性が抜群であるため、よく一緒に用いられます。
\(2^4 = 16\) なので、『2進数の4桁』が、『16進数の1桁』に対応しています。
そのため、2進数の4分の1の長さで情報を表現できるようになるのです。
それでは、2進数から16進数への基数変換を見ていきましょう。
ここでは、2進数の『00111101(2)』を16進数に変換していきます。
『2進数の4桁』が『16進数の1桁』に対応しているので、2進数を右側から4桁ごとに区切り、その4桁を16進数に変換していきます。
今回は、『0011』と『1101』に分けられました。
それぞれ見てみると、『0011(2)』は『3』。
『1101(2)』は『D』と、16進数に変換できます。
これにより、16進数の『3D(16)』に基数変換することができました。
このように、2進数から16進数への基数変換は、4桁ごとに置き換えるとスムーズに行うことができます。
それでは、2進数から16進数への基数変換の、練習問題に取り組んでみましょう。
練習1「11001011(2) を、16進数で表せ。」
ここで一旦動画を止めて、自分で考えてみてください。
それでは、解説していきます。
まず2進数を4桁ごとに区切り、『1100』と『0101』に分けます。
そして、それぞれを16進数に置き換えると『E5(16)』と、16進数に基数変換することができました。
続いて、練習2「11001011(2) を、16進数で表せ。」
一旦動画を止めて、自分で考えてみてください。
それでは、解説していきます。
2進数を4桁ごとに区切ると、『1100』と『1011』に分けられます。
そして、それぞれを16進数に置き換えると『CB(16)』と16進数に基数変換することができました。
次は逆に、16進数から2進数への基数変換を見ていきましょう。
『2進数の4桁』が『16進数の1桁』に対応しているので、16進数の1桁ずつを、2進数の4桁に変換していきます。
ここでは、16進数の『2F(16)』という数を、2進数に変換していきましょう。
16進数の『2』は、2進数だと『0010』。
16進数の『F』は、2進数だと『1111』なので、『00101111(2)』と2進数へ基数変換することができました。
このように、『16進数の1桁』ずつを『2進数4桁』に変換することで、2進数へ基数変換することができます。
それでは、16進数から2進数への基数変換の練習問題です。
練習1「A2(16)を、2進数で表せ。」
ここで一旦動画を止めて、まずは自分で考えてみてください。
それでは、解説を始めます。
16進数の『A』は『1010』。
16進数の『2』は『0010』なので、『10100010(2)』と2進数へ基数変換することができました。
続いて、練習2「EC(16)を、2進数で表せ。」
ここで動画を止めて、まずは自分で考えてみてください。
それでは、解説していきます。
16進数の『E』は、『1110』。
16進数の『C』は、『1100』なので、『11101100(2)』と、2進数へ基数変換することができました。
10進数への基数変換と違い、『2進数の4桁』と『16進数の1桁』を対応させて変換していることを、しっかり覚えておいてください。
【『情報Ⅰ』解説動画】1-(1) 情報社会と情報
【『情報Ⅰ』解説動画】1-(2) 情報モラルと個人に及ぼす影響
【『情報Ⅰ』解説動画】1-(3) 知的財産権① 産業財産権
【『情報Ⅰ』解説動画】1-(4) 知的財産権② 著作権
【『情報Ⅰ』解説動画】1-(5) 知的財産権③ 著作権の例外規定・CCライセンス
【『情報Ⅰ』解説動画】1-(6)個人情報の保護と管理
【『情報Ⅰ』解説動画】1-(7)新しい情報システム
【『情報Ⅰ』解説動画】1-(8)問題解決の手順
【『情報Ⅰ』解説動画】2-(1)メディアの発達
【『情報Ⅰ』解説動画】2-(2)コミュニケーションの形態
【『情報Ⅰ』解説動画】2-(3)情報デザイン
【『情報Ⅰ』解説動画】2-(4)アナログとデジタル
【『情報Ⅰ』解説動画】2-(5)2進数と10進数の基数変換(整数)
【『情報Ⅰ』解説動画】2-(6)2進数と16進数の基数変換
【『情報Ⅰ』解説動画】2-(7)2進数と10進数の基数変換(小数)
いかがだったでしょうか。
Youtubeの授業動画・確認問題・授業プリントは、高校生が家庭学習で利用したり、教員が学校の授業で利用したり、宿題にして反転学習に利用したり……と、自由に使ってもらって構いません!
(ブログや動画にコメントをくれると嬉しいです😀)
動画は少しずつ増やしていく予定なので、チャンネル登録もよろしくお願いします👇
https://www.youtube.com/channel/UCsoJpeo3XzHqcPfbFKRf_Tg
最後まで読んでいただき、ありがとうございました。
質問やご意見、ご感想などがあればコメント欄にお願いします👇