高校「情報I」ポイント整理(4)N進数

大学共通テスト「情報」プログラミング プログラミング学習
この連載は、現在高校で使われている情報Iの教材をベースにし、重要なポイントを整理して5分で読める記事にします。ITの基本知識として知る必要がある内容がたくさんあります。また大学共通テストに出やすいポイントを説明しますので、テスト対策にも役に立てば幸いです。重要キーワードを赤いマーカーで表記します。

N進数

コンピューターの計算はすべて2進数で行われています。つまり、0と1を使って、計算しています。なぜ2進数を使うかというと、コンピューターの内部の電気信号がデジタルなので、ONとOFFの2通りしかありません。0と1はこのONとOFFの2つの状態を表しています。しかし、我々人間は普段10進数を使っています。コンピューターの2進数がわかりにくいです。そのため、計算するときは10進数の数字を2進数に変換し、計算した結果を2進数から10進数に戻して表示します。

情報Iでは、2進数10進数16進数の換算を学びます。
今回、それぞれの換算方法を実例を使って見てみましょう。

10進数から2進数に換算

方法
①10進数の数が0になるまで2で割り算します。余りをすべて記録します。
②0になったときの余りから、すべての余りを繋いで書くと2進数になります。

例題
10進数の18を2進数に変換してください。

18÷2=9 余り0
9÷2=4  余り1
4÷2=2  余り0
2÷2=1  余り0
1÷2=0  余り1

10進数の18の2進数は10010です。

2進数から10進数に換算

方法
①2進数の数を右から一桁ずつ0、1、2、3…のように番号を振ってください。その番号は指数として使います。
②2進数の数が1になっている桁に、底が2、指数が①の番号の数を掛け算します。掛け算の結果を合計した結果が10進数の数です。

例題
2進数の00101011を10進数に変換してください。

2進数    00101011
番号をふる  7610 ← 指数として
掛け算    1✕2
       1✕2
       1✕2
       1✕2
合計     32+8+2+1=43

2進数の00101011の10進数は43です。

2進数から16進数に換算

方法
①2進数の数を4桁ずつ区切ります。
②4桁ずつ10進数に変換します。
③16進数の表記に変換します。
 0〜9はそのまま、10〜15をA〜Fに変換します。
 10 → A
 11 → B
 12 → C
 13 → D
 14 → E
 15 → F

例題
2進数の11100101を16進数に変換してください。

4桁ずつ区切る   1110,0101
10進数に変換   1110 → 23+22+21=14
          0101 → 22+20=5
16進数表記    14 → E
          5  → 5

2進数の11100101の16進数は E5 です。

16進数から2進数に換算

方法
①16進数の表記からそれぞれの桁の数を10進数に書き換えます。
②2進数と10進数の関係図を利用します。
 2進数:  1  10  100  1000
 10進数: 1   2    4     8
③上記の関係図を利用して、①の数の計算式を見つけ出します。
④それぞれ計算式に従って、それぞれの桁の2進数を計算します。
⑤すべての桁の2進数をつなぎます。

例題
16進数の8Dを2進数に変換してください。

10進数に書き換え   8 → 8
            D → 13
それぞれの計算式    8 → 関係図にあるのでそのまま
            D → 13=8+4+1
2進数の計算      8 → 1000
            D → 1000+100+1=1101
つなぐ         10001101

16進数の8Dの2進数は 10001101 です。

10進数から16進数に換算

方法
①16で割る、商と余りを計算します。
②商と余りの数を16進数表記に変えます。
③上記②の結果をつなぎます。

例題
10進数の249を16進数に変換してください。

16で割る    249÷16=15 余り9
16進数に変換  15 → F
         9  → 9
つなぐ      F9

10進数の249の16進数は F9 です。

16進数から10進数に換算

方法
①各桁の数字を10進数に書き換えます。
②2進数と同じ考え方で計算します。ただし、底は16にします。

例題
16進数の3E7を10進数に変換してください。

各桁を10進数に書き換え  3 → 3
              E → 14
              7 → 7
計算   3✕162 + 14✕162 + 7✕160 = 999

16進数の3E7の10進数は 999 です。


今回は2進数、10進数、16進数の換算方法を説明しました。基礎的な計算なので、ぜひ覚えてください。