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 | ||||||
2 | 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 | 1 | 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進数の関係性や変換についてまとめたいと思います。