【初心者向け】基数変換とは?10進数や2進数って?簡単にご説明!

皆さん、こんにちは!

フリーランスの にしすん です。

当ページは、「基数変換」について、とても簡潔に分かりやすくご説明しています。

10進数・2進数・8進数・16進数について、初心者向けに解説しています。

「基数変換って何?」という方

「10進数や2進数って?」という方

情報・IT関係の勉強を始める方

ぜひ、参考にしてみてください!

スポンサーリンク

10進数・2進数・8進数・16進数とは?

まずは、10進数・2進数・8進数・16進数がどんな数字なのか、簡単にご説明します。

慣れないうちは、混乱することも多いと思いますが、そんなに気にする必要はありません。

そのうち慣れます。

まずは知ることですね!

「10進数」とは?

10進数」とは、「0,1,2,3,4,5,6,7,8,9」の10コの数字を使う表記方法です。

つまり、私たちが普段から使っている数字です。

9の次にケタが上がり、10になります。

99の次にケタが上がり、100になります。

「2進数」とは?

2進数」とは、「0,1」の2コの数字を使う表記方法です。

コンピュータ内部で使われている進数です。

1の次にケタが上がり、10になります。

11の次にケタが上がり、100になります。

「8進数」とは?

8進数」とは、「0,1,2,3,4,5,6,7」の8コの数字を使う表記方法です。

7の次にケタが上がり、10になります。

17の次は20です。

77の次にケタが上がり、100になります。

「16進数」とは?

16進数」とは、「0,1,2,3,4,5,6,7,8,9」の10コの数字と、「A,B,C,D,E,F」の6コのアルファベットを使う表記方法です。

人が、コンピュータ内部の2進数を考えるとき、代わりに16進数を使うことが多いです。

9の次はAです。

Fの次にケタが上がり、10になります。

まとめると、以下の表のようになります。

10進数 2進数 8進数 16進数
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10

「基数」と「重み」について

基数」とは、進数の基本となる数のことです。

各ケタの重み付けの基本となる数字とも言われます。

「重み」とは聞きなれない表現だと思いますが、そこまで気にする必要はありません。

例えば、10進数の「324.15」という数字を考えます。

324.15は、「3×100、2×10、4×1、1×0.1、5×0.01」を合わせたものと言えますね。

つまり、「3×10²、2×10¹、4×10⁰、1×10⁻¹、5×10⁻²」を合わせたものです。

この場合、各ケタの重み付けの基本となっているのは「10」という数字です。

同じように考えると、N進数の基数は「N」ということになります。

  • 2進数の基数→2
  • 10進数の基数→10
  • 8進数の基数→8
  • 16進数の基数→16

また、以下の表のように、N進数の各ケタの重みは、小数点を基準に、

  • 左へN⁰、N¹、N²、N³と増えていく
  • 右へN⁻¹、N⁻²、N⁻³と減っていく

ことが分かります。

各進数の重み

N⁰ . N⁻¹ N⁻² N⁻³
10³ 10² 10¹ 10⁰ . 10⁻¹ 10⁻² 10⁻³
2⁰ . 2⁻¹ 2⁻² 2⁻³
8⁰ . 8⁻¹ 8⁻² 8⁻³
16³ 16² 16¹ 16⁰ . 16⁻¹ 16⁻² 16⁻³

「基数変換」とは?

それでは、「基数変換」について、簡単にご説明していきます。

基数変換」とは、ある進数で表された数を、別の進数で表し直すことです。

例えば、2進数「11.011」を10進数で表し直すと、「3.375」になります。

「基数変換」N進数→10進数の場合

N進数で表された数字を、10進数に変換する方法は、以下の通りです。

  1. 各ケタに「N進数の重み」を掛ける
  2. それらを合計する

先ほどの例(2進数「11.011」を10進数で表し直す)を見てみます。

2進数の重み」は、表の通りです。

2⁰ . 2⁻¹ 2⁻² 2⁻³

つまり、こうです。

8 4 2 1 . 0.5 0.25 0.125

「11・011」の各ケタに「2進数の重み」を掛けます。

      1 1 . 0 1 1  
      × ×   × × ×  
8 4 2 1 . 0.5 0.25 0.125
      ̩= =   = = =  
      2 1 . 0 0.25 0.125  

それらを合計すると、10進数「3.375」になります。

8進数→10進数、16進数→10進数への「基数変換」も、同様の方法でできます。

「基数変換」10進数→N進数の場合

10進数で表された数字を、N進数に変換する方法は、以下の通りです。

  1. 10進数の数字を、整数部分小数部分に分ける
  2. 整数部分をNで割り、余りを下から順に並べる
  3. 小数部分にNを掛け、整数部分を上から順に並べる
  4. 2と3を順に並べる

この説明だと非常に分かりにくいので、実際に、10進数「5.375」を2進数に変換してみます。

①まず、「5.375」を「5」と「0.375」に分けます。

②整数部分「5」を、2で割っていきます。

  • 5÷2=2…1
  • 2÷2=1…0
  • 1÷2=0…1

商が0になったら終了です。余りを下から順に並べると「101」になります。

③小数部分「0.375」に、2を掛けていきます(※小数部分のみ引き継いでいきます

  • 0.375×2=0.75
  • 0.75×2=1.5
  • 0.5×2=1.0

小数部分がなくなったら終了です。整数部分を上から順に並べると「011」なります。

④「101」と「011」を順に並べると、2進数「101.011」になります。

10進数→8進数、10進数→16進数への「基数変換」も、同様の方法でできます。

「基数変換」2進数→8進数の場合

続いて、2進数→8進数の基数変換について考えます。

2進数の3ケタは、8進数の1ケタに対応しています

よって、2進数を8進数に変換する方法は、以下の通りです。

  1. 2進数の数字を、小数点を基準に、3ケタごとに区切る足りない場合0を補う
  2. それぞれの区切りを8進数に変換する(2進数の重みを掛け、合計する)
  3. 順に並べる

文章だと分かりづらいので、実際に、2進数「1101.11」を8進数に変換してみます。

①小数点を基準に、3ケタごとに区切る。(足りない場合0を補う

0 0 1 1 0 1 . 1 1 0

②それぞれ、2進数の重みを掛け、合計する。

0 0 1 1 0 1 . 1 1 0
× × × × × ×   × × ×
2⁰ 2⁰   2⁰
= = = = = =   = = =
0 0 1 4 0 1 . 4 2 0
合計 合計   合計
1 5 . 6

③順に並べると、8進数「15.6」になります。

なお、8進数→2進数への基数変換は、今の逆のことを行います。

8進数1ケタを、2進数3ケタに対応させ、変換します。

「基数変換」2進数→16進数の場合

また、2進数の4ケタは、16進数の1ケタに対応しています

よって、2進数を16進数に変換する方法は、以下の通りです。

  1. 2進数の数字を、小数点を基準に、4ケタごとに区切る足りない場合0を補う
  2. それぞれの区切りを16進数に変換する(2進数の重みを掛け、合計する)
  3. 順に並べる

実際に、2進数「1101.11」を16進数に変換してみます。

①小数点を基準に、4ケタごとに区切る。(足りない場合0を補う

1 1 0 1 . 1 1 0 0

②それぞれ、2進数の重みを掛け、合計する。

1 1 0 1 . 1 1 0 0
× × × ×   × × × ×
2⁰   2⁰
= = = =   = = = =
8 4 0 1 . 8 4 0 0
合計   合計
13→D . 12→C

③順に並べると、16進数「D.C」になります。(※16進数なので、「13.12」にはなりません

なお、16進数→2進数への基数変換は、今の逆のことを行います。

16進数1ケタを、2進数4ケタに対応させ、変換します。

まとめ

いかがでしたか?

基数変換」について、簡単にご説明しました。

10進数・2進数・8進数・16進数について、少しでも理解が深まったでしょうか?。

  • 「基数変換って何?」という方
  • 「10進数や2進数って?」という方
  • 情報・IT関係の勉強を始める方

当ページが、皆さんの生活や学習の一助になれば幸いです。

スポンサーリンク

シェアする

スポンサーリンク