LoginSignup
3
1

More than 3 years have passed since last update.

「n進数」① 10進数・2進数・8進数・16進数の仕組み

Last updated at Posted at 2020-10-18

n進数とは

桁が上がることを示す数字のこと。

10進数

たとえば、私たちが普段使っているのは、
0〜9までの10個の数字を使った10進数です。
しかし、この10個の数字1文字(1桁)で表現できるのは最大で「9」までです。

0 1 2 3 4 5 6 7 8 9

桁上がりで9より大きな数を表現する

そこで、9の次の数を表現するために、桁上がりという操作を行います。
桁上がりとは、元の桁(1桁目)が0になり、上の桁(2桁目)に1が加算されることを意味します。
これによって、9の次の数である「10」という数を表現することができるようになりました。

2桁目 1桁目
9
1 0

桁上がりで99より大きな数を表現する

次に、「99」という数について着目します。この数は2桁で表すことができる最大の数です。
この次の数を表現する時には、9の時と同様に桁上がりをします。
まず、1桁目の9が桁上がりをすると、2桁目の数9に1が加算されます。
すると、2桁目でも9より大きな数を表現することができないため、桁上がりが起きて3桁目に1が加算されて「100」になります。

3桁目 2桁目 1桁目
9 9
1 0 0

そして、数が10倍、100倍…といった形で10の累乗になるごとに桁数が1ずつ増えます。

桁数 最小の数 最大の数
1桁 0 9
2桁 10(10の1乗の時) 99
3桁 100(10の2乗の時) 999
4桁 1000(10の3乗の時) 9999

このように、0〜9までの数を使ってある桁数の数を表現する時に、各桁における最大の数「9」よりも大きな数を、桁上がりによって表す方法のことを10進法と呼びます。

コンピューターが扱う2進数

大まかに、コンピューターは電気ののON・OFFという2種類の状態があり、
それに対応する形で「1」と「0」の数字が使われています。
しかし、「1」と「0」の2種類を使うだけでは単純な内容を処理することしかできません。

ON OFF
数字 1 0

これは、先ほどの10進数における0〜9までの数字しか使うことが出来ないのと同様の状態です。
そこで、表現できる数字の範囲を増やすため、10進数と同じように桁上がりを利用します。
ここで利用されるのが2進数と呼ばれる表現方法です。

2進数の仕組み

2進数の桁上がり

2進数において、1桁で表すことのできる最大の数は1です。
そして、1の次にあたる数字が無いため、桁上がりで次の数を表現します。
その場合、元の桁は0になり、上の桁に1が加算されます。
だから、「1」の次は「10」になります。

10進数の値 4桁目 3桁目 2桁目 1桁目 桁上がり
0 0
1 1
1 0 ←桁上がり
3 1 1
4 1 0 0 ←桁上がり
5 1 0 1
6 1 1 0 ←桁上がり
7 1 1 1
8 1 0 0 0 ←桁上がり

2進数の桁上がりのタイミングについて注目すると、
2進数の値が2つ増えるごとに起きていることが分かります。
そして、2進数の値が10進数における2の累乗になるごとに1ずつ桁数が増えています。

桁数 最小の数 最大の数
1桁 0 1
2桁 10(10進数で2の1乗の時) 11
3桁 100(10進数で2の2乗の時) 111
4桁 1000(10進数で2の3乗の時) 1111

このように、0と1の数を使ってある桁数の数を表現する時に、各桁における最大の数「1」よりも大きな数を、桁上がりによって表す方法のことを2進法と呼びます。

8進数

8進数では0〜7までの8つの数字を使って数を表現します。

0 1 2 3 4 5 6 7

8進数において、1桁で表すことのできる最大の数は7になります。
そして、7の次にあたる数が無いため、桁上がりで次の数を表現します。
だから、「7」の次は「10」になります。

10進数の値 3桁目 2桁目 1桁目 桁上がり
0 0
1 1
6 6
7 7
8 0 ←桁上がり
9 1 1
62 7 6
63 7 7
64 1 0 0 ←桁上がり

8進数の桁上がりのタイミングについて注目すると、
8進数の値が8つ増えるごとに起きていることが分かります。
そして、8進数の値が10進数における8の累乗になる毎に1桁ずつ桁数が増えています。

桁数 最小の数 最大の数
1桁 0 7
2桁 10(10進数で8の1乗の時) 77
3桁 100(10進数で8の2乗の時) 777
4桁 1000(10進数で8の3乗の時) 7777

このように、0〜7までの数を使ってある桁数の数を表現する時に、各桁における最大の数「7」よりも大きな数を、桁上がりによって表す方法のことを8進法と呼びます。

16進数

16進数では0〜9までの10個の数字とアルファベットA〜Fの6つの数字を使って数を表現します。

0 1 2 3 4 5 6 7 8 9 A B C D E F

16進数において、1桁で表すことのできる最大の数はFになります。
そして、7の次にあたる数が無いため、桁上がりで次の数を表現します。
だから、「F」の次は「10」になります。

10進数の値 3桁目 2桁目 1桁目 桁上がり
0 0
8 8
9 9
10 A
11 B
15 F
16 1 0 ←桁上がり
159 9 F
160 A 0 ←桁上がり
255 F F
256 1 0 0 ←桁上がり

16進数の桁上がりのタイミングについて注目すると、
16進数の値が16増えるごとに起きていることが分かります。
そして、16進数の値が16の累乗になるごとに1桁ずつ桁数が増えています。

桁数 最小の数 最大の数
1桁 0 F
2桁 10(10進数で16の1乗の時) FF
3桁 100(10進数で16の2乗の時) FFF
4桁 1000(10進数で16の3乗の時) FFFF

このように、0〜Fまでの数を使ってある桁数の数を表現する時に、各桁における最大の数「F」よりも大きな数を、桁上がりによって表す方法のことを16進法と呼びます。

参考にさせて頂いた書籍

きたみりゅうじ 『キタミ式イラストIT塾 基本情報技術者平成31/01年』 技術評論社 2019年

学習してみて

日常的に10進数を使っているので、なかなかこれらの数の表現に慣れるのは難しいですね。
16進数はコンピュータだけでなく色彩の表現にも使われているそうです。
次回は2進数・8進数・16進数の関係性や変換についてまとめたいと思います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1