16進数とは?計算方法となぜ必要なのか解説します。

16進数 計算パソコン&スマホ

プログラムをかじったことのある人なら目にしたことのある”16進数”という数字。専門的に勉強した人なら理解できると思いますが、普通に生きているだけでは目にする機会は少なく、16進数が全く理解できないという方は多いと思います。

この記事では「16進数の計算方法と、なぜ16進数が必要なのか」と言うことについて解説を行っていきます。16進数が分からなくても困っている方は、ぜひご活用ください。

 

16進数ってなに?難しくてさっぱり分からない

16進数と聞くと「なんだか難しそう……。自分には分からないや」と思うかもしれません。学校でもプログラミングや情報関連のことを勉強する学部以外ではほとんど習いませんし、日常生活でも使うことはまずないと思います。

16進数と言うものを簡単に説明すれば、「ただの数字の数え方のひとつ」というだけです。日本語で数字を「いち、に、さん……」と数えるのと「ひ、ふ、み……」と数える場合がありますが、その違いのようなものと思ってください。もちろん細かな違いはありますが、考え方としては正しいです。

 

16進数とだけ耳にすると難しく感じられると思いますが、普段僕たちが使っている0~9までの数字は10進数という存在です。10進数と16進数は、ただ数字の数え方が少し異なっているというだけの違いです。

16進数は普段僕たちが使っている10進数の亜種とでも考えていただければ分かりやすいと思います。

なんとなく16進数って聞くだけで鳥肌たちそうだけど、実はそんなに難しくないです。

 

なぜ16進数が必要なのか?

16進数について学ぶ前に「なぜ16進数なんて表示形式が必要なのか?」ということについて解説をします。

結論から言うと、16進数が必要な理由は「コンピューターが使う2進数との互換性が高い」というのが一番の理由です。

 

詳しい説明は省きますが、普段僕たちが使っている数字の数え方である「10進数(0~9)」は人間にとって扱いやすい数字ではありますが、通常「2進数(0~1)」で計算を行うコンピューターにとっては扱いにくい数字なのです。

かといって人間が2進数を使ってコンピューターに入力を行うのは、2進数に使われる桁数を考えると非常に不便です。

なのでコンピューターにとって扱いやすく、かつ人間でも入力できるようにできているのが16進数というわけです。コンピューターが苦手な10進数と、人間が苦手な2進数の弱点を克服して、コンピューターと人間にとってある程度使いやすい数字の入力方法になっているのが16進数と考えてください。

人間にとっては10進数が一番使いやすいんだけど、コンピューターは10進数があまり得意じゃないみたいです。意外ですね。

 

16進数の基本について学ぼう

基本① 16進数では一桁で15まで数えることが出来る

僕たちが日常生活で使っている「10進数(0~9の数え方)」では、一つの桁で9までしか数えることが出来ません。一桁では9まで、二桁でも99までの数字が上限となる訳です。

ただ、16進数(0~15の数え方)では、一桁で15まで数えることが出来ます。なので一桁で15まで、二桁では「16×15+15=255」までの数字が上限となります。

 

基本② 16進数は「0~9」「a~f」の16個の英数字で表現される

数字のみで構成される10進数とは違い、16進数は「0~9」「a~f」の16個の英数字で表現されます。数字だけでなく文字も使用されるため、このあたりが分かりにくいと感じる人が多い理由だと思います。

とはいえ、考え方としては普段僕たちが使っている10進数と同じです。10進数では一の位が「0~9」の10個の数字で数えられますが、16進数での一の位は「0~9」「a~f」の合計16個というだけです。

ちなみに「2進数」「10進数」「16進数」などの数字の意味は「何種類の文字や数字が使われているか」ということを表しています。2進数の場合は「0」「1」の2種類で、10進数の場合は「0~9」で、16進数の場合は「0~9」「a~f」の合計16個ですね。

 

 

基本③「a~f」にはそれぞれ「10~15」の数字が割り当てられる

16進数で使用される「0~9」「a~f」の英数字についてお話します。

16進数の「0~9」の数字は10進数の数え方と変わりませんが、「a~f」がそれぞれ「10~15」を表しており、先述した通り16進数では一桁で15の数字まで数えることが可能です。

例えば、16進数の「f」は「15」で、「ff」は「255」を表していることとなります。10進数と16進数の変換表については、下記の画像をご覧ください。

 

基本④ 16進数の16以降の数字は繰り上がる

16進数では一桁に15までの数字を数えることが出来ます。なので、16以降の数字を数える場合は一桁繰り上がって表示されることになります。

このあたりは普段僕たちが使っている10進数のやり方と同じなので分かりやすいところだと思います。違う点としては、10進数だと「8,9,10,11」と繰り上がりますが、そもそも「0~f」までで表される16進数では「e,f,10,11」と繰り上がっていきます。

この場合、16進数での「10」は10進数での「16」に当たります。同じように16進数の「20」は10進数の「32」という風に計算されます。

なので上記の繰り上がりの様子を、10進数での数字も合わせてみると「e(14),f(15),10(16),11(17)」となります。

10進数を16進数に変換する計算方法

10進数→16進数

まずは10進数の数字を16進数に変換する計算方法について見ていきます。

流れとしては、以下の通りに計算を行えば16進数への変換が可能です。

  1. 16進数に変換したい10進数の数字を「16」で割る。
  2. 整数はそのまま16進数に変換して、小数点以下は「16」を掛けたのちに16進数に変換する。
  3. 上記で計算された数字をくっつければ完成。

とはいえ、流れだけ説明されても分かりにくいと思うので、実際の計算手順が↓の画像に表示されています。こちらでも10進数の「202」を、16進数の「ca」に変換するまでの計算方法を記載しています。

なお、256以上の10進数の数字を16進数に直した場合、計算した16進数は3桁以上になります。これは16進数で計算できる二桁の数字が「16×15+16=255」までのためです。

255以上の10進数の数字を16進数に直す場合は「②」の計算をもう一度行う必要がありますが、さすがにここまでくると人力で計算を行うのは厳しいと思います。ネット上にある16進数計算機などを使うのをおすすめします。

 

16進数→10進数

では次に16進数の数字を10進数に変換する計算方法についてです。

どちらかと言うと、「10進数→16進数」より「16進数→10進数」の方が簡単なので、「10進数→16進数」が理解できた方には簡単だと思います。

手順は単純で、以下の流れで計算を行ってください。

  1. 10進数に変換したり16進数の数字を、桁ごとに16進数に変換してみる。
  2. 上記で出た数字に対して、10の位の数字には16を掛けたのち、1の位の数字と足し合わせる。

こちらも下の画像で計算の手順を説明しているので、参考のためにご覧ください。

なお、「ff」以上の16進数を10進数に変換する場合、百桁の位でも「①」の手順を行うことで計算が可能です。

ただ三桁以上の16進数を10進数に計算しなおすのは人力だと苦労するので、ネット上にある16進数計算機などを使うのをおすすめします。

 

まとめ:16進数は簡単に理解できる

おそらく世の中に生きている人の大半は「16進数」の計算を行うことは出来ないと思います。

どうしても16進数と聞くと「なんだか難しそう。自分には分からないや……」と苦手意識を感じる人は多く、理解する前に諦めてしまいがちです。

ただ、実際の16進数というのは「ただの数字の数え方のひとつ」なので、計算や数学が苦手な方でも16進数を習得するのは意外と簡単です。

この記事を見て、16進数を理解できた方が一人でも多く現れてくれることを願っています。

分かりにくいところがあったらコメント欄で質問してね。できる限り答えます!

コメントを送る

タイトルとURLをコピーしました