そういえば16進数って、なぜ、数字としてアルファベットを使うのか、と疑問に思った方も少なからずいるのではないでしょうか?
当方も、数字なのになぜ文字を使うのかと混乱したときがありました。(笑)
今回は、16進数がなぜアルファベットを用いるのかについて、当方の見解も交えて見てみたいと思います。
16進数はなぜアルファベットを使うのか?
16進数になぜアルファベットが宛がわれているかといえば、おそらく、
新たに数字を表す文字を発明するのが面倒だったからだと思います。
というのも、10進数は既に世界中に普及している記数法であり、
0~9までの数の集まりを表せる文字(記号)が存在するのに対して、16進数は
0~9までに加えて、
10~15までも1桁で表す必要があるためどうしても新たな記号が必要だったためです。
※ 「記数法」とは2進数や10進数などの数え方をまとめた呼び方と思ってください。
16進数は1桁を表す記号が16種類必要
気付いている方も多いと思いますが、
「n進数」といったとき、1桁を表す記号が
「n種類」あるということがいえます。
例えば、
・2進数・・・0、1の2種類の記号
・10進数・・・0~9の10種類の記号
・16進数・・・0~9、A~Fの計16種類の記号
というように、10進数であれば、
0~9の
10種類の記号を用い、2進数であれば、
0、1の
2種類の記号を用います。
そして、16進数であれば、
0~9以外に
10~15までの値を表す何らかの記号を用いて
16種類の記号を用意しないといけませんよね。
各記数法に使用する記号の種類
|
2進数 | 10進数 | 16進数
|
0 | 0 | 0
|
1 | 1 | 1
|
-- | 2 | 2
|
-- | 3 | 3
|
-- | 4 | 4
|
-- | 5 | 5
|
-- | 6 | 6
|
-- | 7 | 7
|
-- | 8 | 8
|
-- | 9 | 9
|
-- | -- | A
|
-- | -- | B
|
-- | -- | C
|
-- | -- | D
|
-- | -- | E
|
-- | -- | F
|
10進数は10という値に、2進数は2という値に達してから桁が上がりますよね。
それと同様に、16進数は、
16という値に達してから桁上がりさせたいということになります。
言い換えると、16進数は1桁で15までの数を表したいとうことです。
そこで、新たな記号を考案するくらいなら、既存のアルファベットを使えば手っ取り早くね?ということで、16進数ではアルファベットが数字として用いられているのだと思います。
16進数の計算についてはこちらもご覧ください。
ポケモンの個体値 V と32進数
ここからは話が少しとびマニアックな話になりますが、前述した16進数の話にも少しつながる内容となっています。
ところで、ポケモンはご存知でしょうか?
知らない方はこの章はスルーしてくださいね。
ここでは、ポケモンを交え32進数について触れたいと思います。
ポケモンの個体値とは?
ポケモンシリーズをやりこんでいた方なら知っていると思いますが、ポケモンのゲームにはその中に登場するポケモンの強さを示す数値である
「HP、攻撃、防御、特攻、特防、すばやさ」というステータス項目があります。
これら6つのステータス項目はゲームのプレイヤーにも分かるようにディスプレイに示される形になっているのですが、これらの他にプレイヤーには見えない
「個体値」といわれるパラメータが、各ステータス項目に影響を及ぼすように割り振られています。
この個体値は
0~31までの数値がランダムに存在し、例えば、攻撃ステータスの個体値が0のポケモンがいくらレベルを上げたところで、個体値31の攻撃ステータスのポケモンには遠く及ばない値にしかならないといった仕様になっています。
そして、この個体値が全ステータスにおいて最大の31で構成されるポケモンは
「6V」と呼ばれ、ポケモンを極める上で欠かせない要素の一つとなっています。
それでは、なぜ、その個体値が31であることを
「V」と呼ぶのかについて見ていきたいと思います。
V は32進数で31を表す
アルファベットの「V」は、32進数では31の値を表しています。
・(V)32 = 31
16進数においてA~Fまでのアルファベットが用いられる理由と全く同じです。
32進数では、31までの値を1桁で表さなければならず、そのために、A~Vまでのアルファベットを用います。
10進数と対応させて見てみましょう。
10進数 | 32進数 | 16 | G
|
0 | 0 | 17 | H
|
1 | 1 | 18 | I
|
2 | 2 | 19 | J
|
3 | 3 | 20 | K
|
4 | 4 | 21 | L
|
5 | 5 | 22 | M
|
6 | 6 | 23 | N
|
7 | 7 | 24 | O
|
8 | 8 | 25 | P
|
9 | 9 | 26 | Q
|
10 | A | 27 | R
|
11 | B | 28 | S
|
12 | C | 29 | T
|
13 | D | 30 | U
|
14 | E | 31 | V
|
15 | F | 32 | 10
|
このように、
31にアルファベットの
Vが対応していますよね。
これが、
個体値31のポケモンがVと呼ばれる理由であると思います。
最後に
16進数はともかく、31までの数値を1桁で表すメリットって何かあるんですかね。(笑)
今回触れた記数法以外にも、フランスを含む西欧諸国では20進法が使われていたみたいですよ。
気になる方はググってみてください。
それでは次回にまたご期待を!