数値の表現│2進法⇔10進法、2進法⇔16進法をわかりやすく解説!【情報Ⅰ解説】

数値の表現│2進法⇔10進法、2進法⇔16進法をわかりやすく解説!【情報Ⅰ解説】

私たちは日常生活で数を表すときに10進法を使っています。

例えば、123という数は、100の位、10の位、1の位というように10を基準とした位で表されています。

一方で、コンピュータの内部では電気信号の状態によって情報を扱うため、主に2進法が用いられます。

また、2進数は桁数が長くなりやすいため、まとめて表現する方法として16進法もよく使われます。

この記事では、情報Ⅰで扱う「数値の表現」として、10進法、2進法、16進法の基本と、それぞれの進数の変換方法について説明します。

目次

進数とは何か

進数とは、数を表すときの表し方の一つであり、決められた数の記号を使って数を表します。

例えば、10進法では0から9までの10種類の数字を使います。

一方、2進法では0と1の2種類の数字だけを使います。

また、16進法では0から9までの数字と、AからFまでの文字を使います。

それぞれの進数では、桁が左に進むほど大きな値を表します。

例えば10進数の123は、次のような意味になります。

123
=100+20+3

同じように、2進数や16進数でも桁ごとに決まった値を持って数を表します。

10進法・2進法・16進法の特徴

各進数の特徴は次の通りです。

スクロールできます
進数使用する数字特徴
10進法0〜9日常生活で使う
2進法0、1コンピュータ内部で使用
16進法0〜9、A〜F2進数を短く表現できる

10進法・2進法・16進法の対応表

10進数、2進数、16進数は次のように対応しています。

スクロールできます
10進数2進数16進数
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

この表は、特に2進数と16進数の変換を行うときに役立ちます。

2進法から10進法への変換

位の重みを用いた計算方法

2進数を10進数に変換する場合は、各桁(位)に対応する2の累乗を掛けて合計します。

つまり、最も下の位には2の0乗、次の位には2の1乗、次の位には2の2乗といった感じで、最下位の位から順に乗数を増やした値を乗算していきます。

そして、これにより得られた値を合算します。

この説明だとわかりにくいと思いますが、計算例を見ていただければ理解できると思います。

計算例

例:1011₂

1011₂
=1×2³+0×2²+1×2¹+1×2⁰

=8+0+2+1

=11₁₀

最も下位の1には2の0乗を乗算、次の位の1には2の1乗を乗算、次の位の0には2の2乗を乗算、次の位の1には2の3乗を乗算しています。

そして、これらを足し合わせると、答えは11になります。

10進法から2進法への変換

2で割る方法(除算と余り)

10進数を2進数に変換する場合は、数を2で割り続けて余りを求めます。

余りを下から上に読むことで2進数になります。

計算例

例:13₁₀

計算余り
13÷2=61
6÷2=30
3÷2=11
1÷2=01

下から読むと

1101₂

10進法から16進法への変換

16で割る方法

10進数から16進数へ変換するときは、16で割り続けて余りを求めます。余りを下から読むと16進数になります。

A〜Fの表記

余りが10以上の場合は次の文字を使います。

  • 10 → A
  • 11 → B
  • 12 → C
  • 13 → D
  • 14 → E
  • 15 → F

計算例

例:26₁₀

計算余り
26÷16=110

10はAなので

1A₁₆

2進法から16進法への変換

4ビットごとの対応関係

2進数と16進数は、次の関係があります。

16=2⁴

そのため、2進数4桁が16進数1桁に対応します。

2進法を16進法に変換する場合、2進数を4桁(4ビット)に区切り、それぞれを16進数に変換します。

変換例

例:11010110₂

4桁ごとに区切ります。

1101 0110

それぞれを対応表で確認すると

1101 → D

0110 → 6

したがって

D6₁₆

16進法から2進法への変換

1桁を4ビットに変換する方法

16進法から2進法への変換は、2進法から16進法への変換と同様の考え方で行えばいいです。

つまり、16進数1桁は、対応する4桁の2進数に変換できます。

変換例

例:3A₁₆

3 → 0011

A → 1010

したがって

00111010₂

16進法から10進法への変換

2進法を経由する方法

16進数から10進数へ変換する場合は、いったん2進数に変換してから10進数に変換する方法があります。

16進数1桁は4桁の2進数に対応しているため、この対応関係を利用します。

計算例

例:2F₁₆

まず16進数を2進数に変換します。

2 → 0010

F → 1111

したがって

2F₁₆
=00101111₂

次に、この2進数を10進数に変換します。

00101111₂

=0×2⁷+0×2⁶+1×2⁵+0×2⁴+1×2³+1×2²+1×2¹+1×2⁰

=32+8+4+2+1

=47₁₀

確認問題

問題1

次の2進数を10進数に変換しなさい。

1101₂

問題2

次の10進数を2進数に変換しなさい。

18₁₀

問題3

次の10進数を16進数に変換しなさい。

45₁₀

問題4

次の2進数を16進数に変換しなさい。

10111100₂

問題5

次の16進数を2進数に変換しなさい。

A7₁₆

問題6

次の16進数を10進数に変換しなさい。
ただし、2進数を経由して求めなさい。

3C₁₆

確認問題の解答

問題1

1101₂

=1×2³+1×2²+0×2¹+1×2⁰

=8+4+0+1

=13₁₀

問題2

18₁₀

18÷2=9 余り0

9÷2=4 余り1

4÷2=2 余り0

2÷2=1 余り0

1÷2=0 余り1

下から読むと

10010₂

問題3

45₁₀

45÷16=2 余り13

13はDなので

2D₁₆

問題4

10111100₂

4桁ごとに区切る

1011 1100

1011 → B

1100 → C

BC₁₆

問題5

A7₁₆

A → 1010

7 → 0111

したがって

10100111₂

問題6

3C₁₆

まず2進数に変換する

3 → 0011

C → 1100

00111100₂

これを10進数に変換する

00111100₂

=1×2⁵+1×2⁴+1×2³+1×2²

=32+16+8+4

=60₁₀

まとめ

コンピュータでは数値を扱うために複数の進数が使われます。

  • 日常生活では10進法を使用する
  • コンピュータ内部では2進法が使われる
  • 2進数を短く表すために16進法が利用される

進数変換では、次の考え方が重要です。

  • 桁の値を計算して求める方法
  • 割り算と余りを使う方法
  • 2進数4桁と16進数1桁の対応

これらを理解することで、コンピュータが数値をどのように表現しているかを理解できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次