進数は、大学受験やITパスポート、基本情報技術者などで出題頻度が多いイメージ。進数の計算が複雑すぎて後回しにしてしまう方も多いのではないでしょうか。
今回は、その進数の中でも私生活で馴染みのある「10進数」の概念と計算方法についてご紹介していきます。
進数の概念
進数とは、『N進数の場合は「0〜N-1」までを使って表される数字』です。0から始まるNつの数を用いて表され、Nになると一桁数字が上がります。
【例】Nを8(8進数)とすると、 表される数字は「0、1、2、3、4、5、6、7」の8種類の数字が使われる。 次の8の時に桁上がりするので、「(8)=10」。 よって、8進数の場合は「0、1、2、3、4、5、6、7、10、11、12、13…」となる。 |
コンピューター内部で使用されている2進数は「0、1」の2種類、コンピュータで利用される2進数を分かりやすいように表した8進数と16進数はそれぞれ「0〜7」の8種類、「0〜F」の16種類で表されます。さらに、Nになると1桁上がるのが特徴の進数は、2進数、8進数、16進数それぞれ2,、8、16の時に10になるということ。
つまり、10進数も「1〜9」の数字で表され10の時に一桁上がるので「10」になります。
注意しなくてはならないのが、『間違っても、表される数字は「0〜10」ではなく、0〜9』であることです。
言葉だけで説明しても難しいと思うので、以下の表を見ながら詳しく解説していきます。
2進数 | 8進数 | 10進数 | 16進数 |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
10 | 2 | 2 | 2 |
11 | 3 | 3 | 3 |
100 | 4 | 4 | 4 |
101 | 5 | 5 | 5 |
110 | 6 | 6 | 6 |
111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
10000 | 20 | 16 | 10 |
※16進数の場合、9の次の数字に桁上がりした10を持ってくることができないので、
10〜15をA〜Fで表します。
上記のように、N進数は『0〜N-1』までの数字でしか表すことができないため、N-1の次数であるNは桁上がりになり、それを繰り返し数字として表します。
進数は上記以外にも多々存在し、それぞれの用途によって使い分けされています。
基数とは何か?
まず、基数変換を行う上で『基数』について理解しなくてはなりません。基数とは各桁数の重み付けとなる数になります。
少し難しいですが、桁数の重み付けというのはN進数の場合に下位の桁から順に各桁数をN倍ずつされていくことになります。どういうことかというと、下記の例を参照してみてください。
例)10進数123に各桁の重み付けを行うとこのようになります。
「1×10² + 2×10¹ + 3×10⁰」
上記の『10²、10¹、10⁰』の部分が各桁数の重み付けということになります。
では、小数点ではどのように表きされるでしょうか?
例)10進数0.567に各桁数の重み付けをすると….
「5×10⁻¹ + 6×10⁻² +7×10⁻³」
小数点では『10⁻¹、10⁻²、10⁻³』の部分が重み付けになります。
よって、小数点で表されたN進数の重み付けの対照表は以下のように表されます。
💡POINT! ▷N進数の重み付け 「・・・N² N¹ N⁰ . N⁻¹ N⁻² N⁻³」 |
【計算】「◯進数→10進数」「10進数→○進数」
さて、10進数がどういうものかわかったとしても、基数変換する方法がわからなければ、受験や資格で躓いてしまいます。
そうならないうちにもしっかりと基数変換法を頭に入れて、しっかりと計算問題に対策をしていきましょう。
Q.N進数→10進数の基数変換
N進数から10進数を基数変換する際は、10進数で表された数値の各桁にN進数の重みを掛けて足します。例題を見ながら説明していきます。
例)を2進数110.011に基数変換する場合
まず、桁数が小数点から見て左に3桁、右に3桁あるので、
各桁数の2進数の重みは以下になります。
『2² 2¹ 2⁰ . 2⁻¹ 2⁻² 2⁻³』
上記の重みを10進数526.317の同じ桁数にかけると、
『1×2² 1×2¹ 0×2⁰ . 0×2⁻¹ 1×2⁻² 1×2⁻³』
2⁻¹、2⁻²、2⁻³は、それぞれ1/2¹、1/2²、1/2³となり、
上記を全て足した数が2進数となるので、
(1×4)+(1×2)+(0×1).(0×0.5)+(1×0.25)+(1×0.125)=6.375
よって2進数110.011を2進数に基数変換すると、6.375になります。
これが、10進数からN進数を基数変換する方法です。2進数に限らず、8進数や16進数も上記の方法で行います。
Q.10進数→N進数の基数変換
10進数からN進数の場合は、少し複雑になります。N進数に基数変換する場合は整数部にNを割って0になるまでその余りを算出します。また、整数部は逆にNをかける作業です。こちらも例を挙げて紹介していきます。
例)10進数6.375を2進数に基数変換する場合
こちらは、整数部の『6』と少数部の『375』で計算方法が異なります。
※整数部『6』の計算方法※
今回は2進数に基数変換なので、2を割り続けることになります。
6÷2=3・・・0
3÷2=1・・・1
1÷2=0・・・1
この余の部分を下から「1、1、0」に並べたものが整数部の答えになります。
※少数部『375』の計算方法※
次に少数部のNをかける作業をします。
この場合は、掛けた数字の少数部をさらにN掛けていき、少数部が0になれば終了です。
2進数なので、2を掛け続けます。
0.375×2=0.75
0.75×2=1.5
0.5×2=1.0
この場合は、整数部に現れた数を並べたものが少数部の答えになります。
ただ、気をつけないといけないのが、並べる順番。少数部は上から並べた「0、1、1」になります。
よって、10進数6.375を2進数に基数変換した数字は『110.011』です。
まとめ
今回は、進数の概念と10進数の基数変換についてご紹介してきました。
比較的、10進数の基数変換は他の基数変換よりも計算方法が簡単です。それぞれの基数変換方法をしっかりと頭に入れて、受験や資格の対策を徹底していきましょう。
コメント