16進数はなぜアルファベットを使うのか?ポケモンの「V」との関係
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進数の計算については「10進数 → 16進数 に変換するときは2進数にしてからがいい」を見てみてください。
ポケモンの個体値 V と32進数
ここからは話が少しとびマニアックな話になりますが、前述した16進数の話にも少しつながる内容となっています。
ところで、『ポケモン』はご存知でしょうか?
知らない方はこの章はスルーしてくださいね。
ここでは、ポケモンを交え32進数について触れたいと思います。
ポケモンの個体値とは?
ポケモンシリーズをやりこんでいた方なら知っていますよね。
ポケモンのゲームにはその中に登場するポケモンの強さを示す数値である「HP、攻撃、防御、特攻、特防、すばやさ」というステータス項目があります。
これら6つのステータス項目はゲームのプレイヤーにも分かるようにディスプレイに表示されているのですが、
これの他にプレイヤーには見えない「個体値」といわれるパラメータが、各ステータス項目に影響を及ぼすように割り振られています。
この個体値は0~31までの数値がランダムに存在し、例えば、攻撃ステータスの個体値が0のポケモンがいくらレベルを上げたところで攻撃ステータスが個体値31のポケモンより強くなれない仕様になっています。
そして、この個体値が6つのステータスすべてにおいて最大の31で構成されるポケモンを「6V」と呼びます。
それでは、なぜその個体値が31であることを「V」と呼ぶのでしょうか。
V は32進数で31を表す
アルファベットの「V」は、32進数では31の値を表しています。
- (V)32 = 31
16進数においてA~Fまでのアルファベットが使用される理由と全く同じです。
32進数では、31までの値を1桁で表さないといけないのでA~Vまでのアルファベットを使用します。
10進数と対応させて見てみます。
10進数 | 32進数 | 10進数 | 32進数 |
0 | 0 | 16 | G |
1 | 1 | 17 | H |
2 | 2 | 18 | I |
3 | 3 | 19 | J |
4 | 4 | 20 | K |
5 | 5 | 21 | L |
6 | 6 | 22 | M |
7 | 7 | 23 | N |
8 | 8 | 24 | O |
9 | 9 | 25 | P |
10 | A | 26 | Q |
11 | B | 27 | R |
12 | C | 28 | S |
13 | D | 29 | T |
14 | E | 30 | U |
15 | F | 31 | V |
32 | 10 |
このように、31にアルファベットのVが対応していますよね。
これが個体値31のポケモンがVと呼ばれる理由といわれています。
さいごに
16進数はともかく、31までの数値を1桁で表すメリットって何かあるんですかね。(笑)
今回見てきた記数法以外にも、フランスを含む西欧諸国では20進法が使われていたみたいですよ。気になる方はググってみてください。
それでは次回にお会いしましょう。